当前位置:   article > 正文

zabbix 与 grafana 对接

zabbix 与 grafana 对接

一.安装 grafana 

1.初始化操作

  1. 初始化操作
  2. systemctl disable --now firewalld
  3. setenforce 0
  4. vim /etc/selinux/config
  5. SELINUX=disabled

2.上传数据包并安装

  1. cd /opt
  2. grafana-enterprise-9.4.7-1.x86_64.rpm #上传软件包
  3. yum localinstall -y grafana-enterprise-9.4.7-1.x86_64.rpm #安装
  4. systemctl enable --now grafana-server.service #开启服务
  5. netstat -lntp | grep 3000 #查询是否已经开启服务

二.浏览器访问

1.登录到  grafana 

浏览器输入http://192.168.10.50:3000

账号/密码:admin / admin

2.修改密码并登录

3.将 zabbix 添加到 grafana 

之后返回到Plugins界面,zabbix已安装

4.导入zabbix数据,对接grafana

三. 对 Linux 系统状态的监控

1.选择监控模板

我们这里只监控cpu和 load average 两种状态

2.监控操作

3.保存操作

四.对 Linux 系统服务状态的监控(第二种模板)

1.选择模板或者导入模板

2.修改数据

3.修改具体监控的状态

修改cpu内核数量,不可以直接修改,需要先下面这些操作

这样子即可实现对cpu数量的监控

之后操作大体都相同,先找到图标上面的关键词然后重新输入即可

最后结果如这样子

相对于zabbix来说,更容易观察到具体的状态

五.对nginx的监控

要实现对nginx的监控要先有这个配置--with-http stub status module

1.修改nginx配置

  1. vim /etc/nginx/conf.d/default.conf
  2. location / {
  3. root /var/www/zbx;
  4. index index.php index.html index.htm;
  5. }

  1. systemctl reload nginx.service
  2. curl -s http://192.168.10.20/nginx_state

2.编写脚本,实现查看nginx的状态

  1. vim nginx_status.sh
  2. chmod +x nginx_status.sh
  3. ./nginx_status.sh waiting

 检测 nginx 状态的脚本

  1. #!/bin/bash
  2. IP=192.168.10.20
  3. PORT=80
  4. STUB_URI=nginx_state
  5. active() {
  6. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==1 {print $3}'
  7. }
  8. accepts() {
  9. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $1}'
  10. }
  11. handled() {
  12. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $2}'
  13. }
  14. requests() {
  15. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $3}'
  16. }
  17. Reading() {
  18. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $2}'
  19. }
  20. writing() {
  21. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $4}'
  22. }
  23. waiting() {
  24. curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $6}'
  25. }
  26. process() {
  27. pidof nginx | wc -w
  28. }
  29. case $1 in
  30. active)
  31. active
  32. ;;
  33. accepts)
  34. accepts
  35. ;;
  36. handled)
  37. handled
  38. ;;
  39. requests)
  40. requests
  41. ;;
  42. Reading)
  43. Reading
  44. ;;
  45. Writing)
  46. writing
  47. ;;
  48. Waiting)
  49. waiting
  50. ;;
  51. process)
  52. process
  53. ;;
  54. *)
  55. echo "Usage: $0 {active|accepts|handled|requests|Reading|writing|waiting|process}" exit 1
  56. esac
  57. exit 0

验证是否可以查看状态

3.设置键值

  1. vim nginx_state.conf
  2. UserParameter=nginx.status[*],/etc/zabbix/zabbix_agent2.d/nginx_status.sh $1

4.在zabbix web端完成自定义监控项

(1)创建模板

(2)创建监控项 

(3)创建触发器

4.使用 grafana 监控nginx

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/寸_铁/article/detail/798537
推荐阅读
相关标签
  

闽ICP备14008679号