很多朋友对于监控你的 Nginx 性能:使用 Graylog2、Grafana 和 Loki 收集、展示和分析日志和不太懂,今天就由小编来为大家分享,希望可以帮助到大家,下面一起来看看吧!
Graylog2是一个开源系统,用于集中收集、存储和分析服务器上保存的日志。它可以用作系统日志服务器,支持TCP 和UDP 协议。此外,还支持通过TCP/UDP接收GELF格式的日志。这种格式很简单,就是一个JSON字符串。 Graylog2将GELF格式的日志存储到ElasticSearch中,并将一些统计信息写入MongoDB中。 Graylog2提供了一个用Ruby编写的Web应用程序,可以搜索日志并直观地显示搜索结果的时间分布。
Graylog2集群由三部分组成,Graylog-server(日志采集、清洗、分析)、Mongo DB(用于graylog集群共享配置信息)、ElasticSearch(日志存储)。
Graylog2.4.X仅支持ElasticSearch 5。从Graylog2.5.2开始,支持ElasticSearch 6。当前版本为版本3。
基础软件包安装aptinstallapt-transport-httpsopenjdk-8-jre-headlessuuid-runtimepwgen安装MongoDB DBMSapt-getinstallmongodb-server安装Elasticsearchwget-qO-https://artifacts.elastic.co/GPG-KEY-elasticsearch|apt-keyadd-echo'debhttps://artifact s .elastic.co/packages/5.x/aptstablemain'|tee-a/etc/apt/sources.list.d/elastic-5.x.listaptupdateaptinstallelasticsearch 这样就完成了Gaylog 正常工作所需的所有软件包。
配置elasticsearch要配置它,请打开文件:
nano/etc/elasticsearch/elasticsearch.yml 在描述末尾添加以下行:
cluster.name:graylog 我们配置自动启动并运行elasticsearch:
systemctldaemon-reloadsystemctlenableelasticsearch.servicesystemctlstartelasticsearch.service安装Graylogwgethttps://packages.graylog2.org/repo/packages/graylog-2.4-repository_latest.debdpkg-igraylog-2.4-repository_latest.debaptupdateaptinstallgraylog-serverGraylog服务器设置:要工作,您需要创建两把钥匙。一种是使用加密,另一种是第一次登录Web界面的admin用户的密码
要创建加密密钥,请运行以下命令:
pwgen-N1-s96 要为管理员用户创建密码,请运行以下命令:
echo-npassword|sha256sum
我们对nano/etc/graylog/server/server.conf 中的以下几行感兴趣:
password_secret=Secret,我们输入上面得到的加密密钥
root_password_sha2=密码,我们输入管理员用户获得的密钥
rest_listen_uri=http://0.0.0.0:9000/api/rest_transport_uri=http://IP-Address:9000/api/web_listen_uri=http://0.0.0.0:9000/设置自动运行并启动Graylog:
systemctldaemon-reloadsystemctlenablegraylog-server.servicesystemctlstartgraylog-server.service完成所有要点并打开浏览器后,我们在IP-Address:port的地址栏中输入端口9000
[[340331]]
Nginx日志配置以发送到GraylogNginx 会将登录名发送给Gryalog 本身。
nano/etc/nginx/nginx.conf 可以备份之前的位置(/var/log/nginx/)和日志配置。
在本节中,http 添加以下内容:
log_formatgraylog2_format'$remote_addr-$remote_user[$time_local]'$request'$status$body_bytes_sent'$http_referer''$http_user_agent''$http_x_forwarded_for'$access_logsyslog:server=GraylogIP 地址:11004graylog2_format;error_logsyslog3 3360server=Graylog IP地址:11005;重启Nginx:
serviceniginxrestart准备Graylog以接收来自Nginx的日志为此,您需要从Graylog 商店安装该插件,该插件可从(https://marketplace.graylog.org/addons/6bbc0407-0fc1-4ee7-be6d-4ea08ff1b482) 下载。
接下来,要安装下载的附加组件,请从菜单中选择系统- 内容包,选择导入内容包位置并下载文件JSON。之后,在内容包的同一位置,将出现一个新项目Nginx Web Server,您必须选择它并单击“应用内容”。
接下来,从菜单中选择系统- 输入,确保连接正常工作,然后单击显示收到的消息以显示传入消息的位置。为了更轻松地跟踪传入消息,窗口顶部有一个自动更新按钮。
Elasticsearch设置在配置文件的末尾,我们将为查询条件的数量指定一个新值,因为标准的1000 个条件可能不够:
nano/etc/elasticsearch/elasticsearch.ymlindices.query.bool.max_clause_count:10240 重新启动Elasticsearch
serviceelasticsearchrestart 如果Grafana 和Graylog 位于不同服务器上怎么办
1. 更改从其他设备访问的设置。
Nano/etc/elasticsearch/elasticsearch.yml 网络在本节中指定:
network.host:IP-AddressserverElasticsearch\Grayloghttp.port:92002。为了成功运行Graylog,必须在配置中输入上述Elasticsearch的地址和访问端口:
nano/etc/graylog/server/server.confelasticsearch_hosts=http://IP-Address:9200 重新启动Graylog 和Elasticsearch:
serviceelasticsearchrestartservicegraylog-serverrestart设置Grafana配置Elasticsearch的访问权限:
为此,请打开Grafana Web 界面,选择“配置”-“数据源”,然后单击“添加数据源”。
在名称字段中输入连接的名称;
在字段中,键入选择Elasticsearch;
在URL字段中输入Elasticsearch的服务器地址;
时间字段名称问题中:时间戳;
在版本字段中选择5.x;
单击保存测试。如果一切正确,就不应该有错误。
在Grafana中创建一个仪表板完成的仪表板可以在Grafana 官方网站上找到,链接为:(https://grafana.com/dashboards/8486)。
添加之前,请安装Grafana必要的插件:
grafana-clipluginsinstallgrafana-piechart-panel 重新启动Grafana 服务器:
servicegrafana-serverrestart 将json 面板文件添加到Grafana
选择并导入下载的文件并指定:仪表板``—管理,导入—上传.json文件
在名称字段中输入所需的面板名称;
在此字段中,Graylog Elasticsearch 表示与上面创建的Elasticsearch 数据库的连接。
然后单击导入按钮。
当Nginx 被调用时,图表将开始显示:
关于监控你的 Nginx 性能:使用 Graylog2、Grafana 和 Loki 收集、展示和分析日志的内容到此结束,希望对大家有所帮助。
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:https://www.iotsj.com//kuaixun/7789.html
用户评论
看起来很方便,能不用那么多工具就能搞定日志监控了
有19位网友表示赞同!
我一直在用Loki和Grafana单独收集日志,这个Graylog2看起来更全面的解决方案
有20位网友表示赞同!
以前手动去Nginx服务器上查日志好麻烦,这下子有了自动化流程啊!
有5位网友表示赞同!
对于新手来说,使用Graylog2是不是比较复杂?
有14位网友表示赞同!
想了解下Graylog2和Loki哪个更适合大规模数据量的采集分析
有14位网友表示赞同!
如果我们已经习惯了Nginx自带的访问日志,用额外工具收集有什么好处吗?
有7位网友表示赞同!
看到有人在Grafana中展示和分析日志,感觉可以做很多报表!
有8位网友表示赞同!
这个方案能实时更新日志数据吗?
有16位网友表示赞同!
Graylog2除了Nginx,还能采集其他服务的日志吗?
有13位网友表示赞同!
分享一下Graylog2的配置教程吧,我也想试试这种整合式的方案
有15位网友表示赞同!
学习一下Graylog2和Loki的使用,将来说不定能用到。
有6位网友表示赞同!
这个方案是不是需要一定的服务器配置支持?
有14位网友表示赞同!
感觉使用统一的平台管理日志数据更加方便,可以节省一些精力
有10位网友表示赞同!
对于安全性方面应该要注意哪些点呢?
有18位网友表示赞同!
有没有什么开源替代方案可以参考吗?
有17位网友表示赞同!
这个方案能帮助我们更好地发现应用程序中的bug吗?
有6位网友表示赞同!
希望Graylog2能提供更直观的日志分析界面,方便查询和筛选数据。
有12位网友表示赞同!
这个方案的费用相对来说是否比较贵?
有12位网友表示赞同!
如果有具体的案例分享吗?想看看这种方案在工程实际应用中的效果
有17位网友表示赞同!
这个方案能不能用于云服务器上部署?方便一些。
有15位网友表示赞同!