• 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

  • 相关阅读:
    The O-one:开源语言模型计算机的革命
    视频流采集存储和展示技术调研
    SSM实现一个图书销售商场项目网站
    GitLab首席执行官的日常
    python基础知识整理 09-多任务:协程
    牛客—— JZ36 二叉搜索树与双向链表
    性价比高一点的蓝牙耳机有哪几款?高性价比蓝牙耳机推荐
    【scikit-learn基础】--『监督学习』之 决策树分类
    十九章总结 Java绘图
    DC-9靶场下载及渗透实战详细过程(DC靶场系列)
  • 原文地址:https://blog.csdn.net/lxplxplike/article/details/140163412