zabbix监控添加监控项及其监控Mysql、nginx

本届主要介绍添加监控项和修改中文乱码,监控mysql,nginx服务


 

 

一、zabbix监控添加监控项

1、配置agent服务器

在配置文件中添加:

        UserParameter=lsq_userd,free -m | grep Mem | awk '{ print $3 }'

                                                                服务器内存使用量
        UserParameter=du,df -Th | awk '/\/$/{print $6}' | awk -F% '{print $1}'

                                                                磁盘使用量

                                                        重启agent服务

2、在service服务器上查是否可以读取到。

                 zabbix_get -s 192.168.2.4 -p 10050 -k lsq_userd

                zabbix_get -s 192.168.2.4 -p 10050 -k du

UserParameter=memory userd,free -m lgrep Mem |awk '[print $3)

语法: UserParameter=key,shell command

监控key 值: memory_userd,key 值可以随意编写,但是一会需要在 web 页面创建监控项时指定 key 值;
Shell 命令或脚本: free -mlgrep Memlawk print $3y

注:在 zabbix server 端可以使用 zabbix get -s agent 端 ip 地址 -p 10050 -k key 名通过此命令可以查看 agent 端 key 的监控值;

3、在service服务的web页面添加监控项

1.创建主机及添加主机添加模板

zabbix监控添加监控项及其监控Mysql、nginx_第1张图片

zabbix监控添加监控项及其监控Mysql、nginx_第2张图片

zabbix监控添加监控项及其监控Mysql、nginx_第3张图片

zabbix监控添加监控项及其监控Mysql、nginx_第4张图片

zabbix监控添加监控项及其监控Mysql、nginx_第5张图片

zabbix监控添加监控项及其监控Mysql、nginx_第6张图片

2.添加监控项

zabbix监控添加监控项及其监控Mysql、nginx_第7张图片

zabbix监控添加监控项及其监控Mysql、nginx_第8张图片

zabbix监控添加监控项及其监控Mysql、nginx_第9张图片

zabbix监控添加监控项及其监控Mysql、nginx_第10张图片

3.添加触发器

zabbix监控添加监控项及其监控Mysql、nginx_第11张图片

zabbix监控添加监控项及其监控Mysql、nginx_第12张图片

zabbix监控添加监控项及其监控Mysql、nginx_第13张图片

4.添加图像

zabbix监控添加监控项及其监控Mysql、nginx_第14张图片

zabbix监控添加监控项及其监控Mysql、nginx_第15张图片

5.点击:监测—主机—图形—查看

zabbix监控添加监控项及其监控Mysql、nginx_第16张图片

二、解决中文乱码

                以上可看到图形中的中文有问题。

1.在宿主机上使用win+r 输入fonts随便找一个ttl文件

zabbix监控添加监控项及其监控Mysql、nginx_第17张图片

2.在service服务器上修改文件

                在该路径下/usr/share/fonts/dejavu:找到该文件

3.随便从win中找到ttf文件覆盖掉DejaVuSans.ttf

4.回到web页面查看图形

zabbix监控添加监控项及其监控Mysql、nginx_第18张图片

三、zabbix监控mysql软件配置

1、zabbix-agent端的配置

        1.在数据库中创建zabbix用户和赋权

zabbix监控添加监控项及其监控Mysql、nginx_第19张图片

        2.在zabbix客户端默认配置路径下 /etc/zabbix 目录下新建  .my.cnf 文件,然后新增一个监控帐号,上面我们新建了一个zabbix帐号

zabbix监控添加监控项及其监控Mysql、nginx_第20张图片

zabbix监控添加监控项及其监控Mysql、nginx_第21张图片

        3.复制模板

                cp /usr/share/doc/zabbix-agent-5.0.37/userparameter_mysql.conf .

zabbix监控添加监控项及其监控Mysql、nginx_第22张图片

        4.将拷贝过来的文件中","后,添加HOME=/etc/zabbix/

zabbix监控添加监控项及其监控Mysql、nginx_第23张图片

2、配置web页面

1.添加对应模板到群组中

zabbix监控添加监控项及其监控Mysql、nginx_第24张图片

2.更改宏为agent地址

zabbix监控添加监控项及其监控Mysql、nginx_第25张图片

3.查看状态:监测---主机---最新数据

zabbix监控添加监控项及其监控Mysql、nginx_第26张图片

4.图像查看

zabbix监控添加监控项及其监控Mysql、nginx_第27张图片

zabbix监控添加监控项及其监控Mysql、nginx_第28张图片

四、zabbix监控nginx软件配置

1、查看nginx内置模块是否安装内置运行状态模块

                nginx -V

2、配置nginx运行状态模块

在nginx配置文件中service字段中输入:

 location /status {              #定义运行状态页面名称,页面为status
        stub_status on; #开启模块
        access_log off; #不开启访问日志记录
        allow 127.0.0.1;    #运行127.0.0.1地址访问此网页
        allow 192.168.2.0/24;   #只运行192.168.2.0网段的主机访问此网页
        deny all;                       #其余网段主机不允许访问
        }

zabbix监控添加监控项及其监控Mysql、nginx_第29张图片

3、浏览器访问

zabbix监控添加监控项及其监控Mysql、nginx_第30张图片

4、编写监控nginx脚本

在/zabbix目录下编写

#!/bin/bash
#定义Nginx status页面
ngx_status="http://127.0.0.1/status"
#判断status页面是否存活
ngx_status_code() {
        http_code=`curl -o /dev/null -s -w %{http_code} ${ngx_status}`
        if [ ${http_code} == "200" ];then
                return 1
        else
                echo "Nginx status is not running."
        fi
}

#获取当前活动的客户端连接数
active() {
        ngx_status_code || curl -s ${ngx_status} | grep "Active" | awk '{print $NF}'
}

#获取接收客户端连接的总数量
accepts() {
        ngx_status_code || curl -s ${ngx_status} | awk NR==3 | awk '{print $1}'
}

#获取已处理的连接总数量
handled() {
        ngx_status_code || curl -s ${ngx_status} | awk NR==3 | awk '{print $2}'
}

#获取客户端请求总数量
requests() {
        ngx_status_code || curl -s ${ngx_status} | awk NR==3 | awk '{print $3}'
}

#获取正在读取请求标头的当前连接数量
reading() {
        ngx_status_code || curl -s ${ngx_status} | grep "Reading" | awk '{print $2}'
}

#获取正在将响应写回到客户端的当前连接数量
writing() {
        ngx_status_code || curl -s ${ngx_status} | grep "Writing" | awk '{print $2}'
}

#获取当前正在等待响应的客户端连接数量
waiting() {
        ngx_status_code || curl -s ${ngx_status} | grep "Waiting" | awk '{print $2}'
}

#使用位置变量控制脚本输出
case $1 in
        active)
                active;;
        accepts)
                accepts;;
        handled)
                handled;;
        requests)
                requests;;
        reading)
                reading;;
        writing)
                writing;;
        waiting)
                waiting;;
        *)
                echo "Unknown options"
esac

zabbix监控添加监控项及其监控Mysql、nginx_第31张图片

5、配置zabbix agent 服务

参考以下内容进行修改:
LogFileSize=0
DenyKey=system.run[*]
EnableRemoteCommands=1
Server=10.1.1.1
ServerActive=10.1.1.1 (服务器地址)
UnsafeUserParameters=1

[root@nginx ~]# grep -v "^#" /etc/zabbix/zabbix_agentd.conf | grep -v "^$"(查看到如下状态则修改完成)

zabbix监控添加监控项及其监控Mysql、nginx_第32张图片

6、创建自定义监控项

 vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf

添加以下内容

UserParameter=nginx.active,bash /etc/zabbix/ngx_status.sh active
UserParameter=nginx.accepts,bash /etc/zabbix/ngx_status.sh accepts
UserParameter=nginx.handled,bash /etc/zabbix/ngx_status.sh handled
UserParameter=nginx.requests,bash /etc/zabbix/ngx_status.sh requests
UserParameter=nginx.reading,bash /etc/zabbix/ngx_status.sh reading
UserParameter=nginx.writing,bash /etc/zabbix/ngx_status.sh writing
UserParameter=nginx.waiting,bash /etc/zabbix/ngx_status.sh waiting

zabbix监控添加监控项及其监控Mysql、nginx_第33张图片

                重启服务。

7、模板创建

zabbix监控添加监控项及其监控Mysql、nginx_第34张图片

zabbix监控添加监控项及其监控Mysql、nginx_第35张图片

7.2在对应的模板中创建相关的监控项

zabbix监控添加监控项及其监控Mysql、nginx_第36张图片

zabbix监控添加监控项及其监控Mysql、nginx_第37张图片

8、创建监控主机,连接模板

zabbix监控添加监控项及其监控Mysql、nginx_第38张图片

zabbix监控添加监控项及其监控Mysql、nginx_第39张图片

9、监测--主机--最新数据

zabbix监控添加监控项及其监控Mysql、nginx_第40张图片


你可能感兴趣的:(zabbix)