zabbix 与 grafana 对接

一.安装 grafana 

1.初始化操作

初始化操作
systemctl disable --now firewalld
setenforce 0
vim /etc/selinux/config
SELINUX=disabled

2.上传数据包并安装

cd /opt
grafana-enterprise-9.4.7-1.x86_64.rpm   #上传软件包
yum localinstall -y grafana-enterprise-9.4.7-1.x86_64.rpm   #安装
systemctl enable --now grafana-server.service  #开启服务
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配置

vim /etc/nginx/conf.d/default.conf

    location / {
        root   /var/www/zbx;
        index  index.php index.html index.htm;
    }

systemctl reload nginx.service

curl -s http://192.168.10.20/nginx_state

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

vim nginx_status.sh

chmod +x nginx_status.sh

./nginx_status.sh waiting

 检测 nginx 状态的脚本

#!/bin/bash
IP=192.168.10.20
PORT=80
STUB_URI=nginx_state

active() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==1 {print $3}'
}

accepts() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $1}'
}

handled() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $2}'
}

requests() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==3 {print $3}'
}

Reading() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $2}'
}

writing() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $4}'
}

waiting() {
    curl -s http://$IP:$PORT/$STUB_URI | awk 'NR==4 {print $6}'
}

process() {
    pidof nginx | wc -w
}

case $1 in
active)
    active
    ;;
accepts)
    accepts
    ;;
handled)
    handled
    ;;
requests)
    requests
    ;;
Reading)
    Reading
    ;;
Writing)
    writing
    ;;
Waiting)
    waiting
    ;;
process)
    process
    ;;
*)
    echo "Usage: $0 {active|accepts|handled|requests|Reading|writing|waiting|process}"    exit 1
esac
exit 0

验证是否可以查看状态

3.设置键值

vim nginx_state.conf

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

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

(1)创建模板

(2)创建监控项 

(3)创建触发器

4.使用 grafana 监控nginx

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 22:40:02       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 22:40:02       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 22:40:02       57 阅读
  4. Python语言-面向对象

    2024-07-13 22:40:02       68 阅读

热门阅读

  1. Python制作签到系统

    2024-07-13 22:40:02       17 阅读
  2. docker pull rabbimq镜像失败

    2024-07-13 22:40:02       17 阅读
  3. rabbitmq

    rabbitmq

    2024-07-13 22:40:02      18 阅读
  4. 爬虫学习日记

    2024-07-13 22:40:02       18 阅读
  5. (深度估计学习)Depth Anything V2 复现

    2024-07-13 22:40:02       20 阅读
  6. Vue封装Tooltip(提示工具)

    2024-07-13 22:40:02       19 阅读
  7. fastermaker-boot代码生成器

    2024-07-13 22:40:02       17 阅读
  8. 使用Spring Boot实现分布式锁

    2024-07-13 22:40:02       19 阅读
  9. Qt MV架构 数据-窗口映射器

    2024-07-13 22:40:02       22 阅读
  10. 暑假自律日记九

    2024-07-13 22:40:02       19 阅读
  11. 如何在PostgreSQL正确的 使用UUID 作为主键

    2024-07-13 22:40:02       19 阅读