一、导语
我的上一篇博客 图文讲解Zabbix 分布式监控平台安装过程 分享了怎么安装Zabbix 分布式监控平台,接下来我们来看看 zabbix 是怎样添加服务监控项的
二、添加 http 服务监控项
利用 zabbix 自带的监控模版
点击 配置->主机-> server2 ->模版 ->选择 -> Template App HTTP Service
再点击 添加 -> 更新
这样主机 server2的监控项中就出现了 HTTP 服务
三、监控 zabbix server 上的 mysql 服务
1.配置mysql
在/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf 文件中指定了 zabbix agent 如何获取 mysql服务的各种信息,并在/var/lib/zabbix 目录中新建“.my.cnf”文件,用以指定 zabbix agent 如何登陆数据库,默认使用的是 zabbix 用户,可以在 zabbix_server.conf 文件中找到密码。
[root@zabbix_server ~]# cd /etc/zabbix/zabbix_agentd.d
[root@zabbix_server zabbix_agentd.d]# ls
userparameter_mysql.conf
[root@zabbix_server zabbix_agentd.d]# cat userparameter_mysql.conf | grep mysql
# Flexible parameter to grab global variables. On the frontend side, use keys like mysql.status[Com_insert].
# Key syntax is mysql.status[variable].
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -N | awk '{print $$2}'
# Flexible parameter to determine database or table size. On the frontend side, use keys like mysql.size[zabbix,history,data].
# Key syntax is mysql.size[<database>,<table>,<type>].
UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=\"$2\"");" | HOME=/var/lib/zabbix mysql -N'
UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V
[root@zabbix_server zabbix_agentd.d]# mkdir -p /var/lib/zabbix
[root@zabbix_server ~]# mysql_secure_installation ##添加秘码
[root@zabbix_server ~]# mysql -ppasswd ##测试登陆
MariaDB [(none)]>
[root@zabbix_server ~]# mysqladmin -uroot -ppasswd ping | grep -c alive ##测试获取 mysql服务的信息
1
[root@zabbix_server zabbix]# cd /var/lib/zabbix/
[root@zabbix_server zabbix]# vim .my.cnf
[mysql]
host=localhost
user=root
password=passwd
socket=/var/lib/mysql/mysql.sock
[mysqladmin]
host=localhost
user=root
password=passwd
socket=/var/lib/mysql/mysql.sock
[root@zabbix_server zabbix]# systemctl restart zabbix-agent.service
[root@zabbix_server el7]# yum install -y zabbix-get-3.2.6-1.el7.x86_64.rpm
[root@zabbix_server ~]# zabbix_get -s 127.0.0.1 -k mysql.version
mysql Ver 15.1 Distrib 5.5.44-MariaDB, for Linux (x86_64) using readline 5.1
[root@zabbix_server ~]# zabbix_get -s 127.0.0.1 -k mysql.ping ##测试获取 mysql服务的信息
1
##如果是监控远程主机的 mysql 服务需要创建 zabbix 用户并授权
MariaDB [(none)]> GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY 'passwd';
MariaDB [(none)]> FLUSH PRIVILEGES;
点击 配置->主机-> Zabbix server ->模版 ->选择 -> Template App MySQL
点击 配置->主机->Zabbix server 图形 可以看到两个新的监控图形
四、监控 zabbix server 上的 nginx 服务
1.安装nginx
##agent
[root@server2 ~]# yum install -y gcc-c++ pcre-devel zlib-devel
[root@server2 ~]# tar -zxf nginx-1.12.0.tar.gz
[root@server2 ~]# cd nginx-1.12.0
[root@server2 nginx-1.12.0]# ./configure --with-http_stub_status_module --prefix=/usr/local/nginx
[root@server2 nginx-1.12.0]# make && make install
[root@server2 nginx-1.12.0]# cd /etc/zabbix/zabbix_agentd.d/
[root@server2 zabbix_agentd.d]# vim nginx.conf
UserParameter=nginx.active,curl -s http://172.25.27.2/status | grep Active | awk '{print $NF}'
UserParameter=nginx.server,curl -s http://127.0.0.1/status |awk NR==3 | awk '{print $1}'
UserParameter=nginx.accept,curl -s http://127.0.0.1/status |awk NR==3 | awk '{print $2}'
UserParameter=nginx.handled,curl -s http://127.0.0.1/status |awk NR==3 | awk '{print $3}'
[root@server2 zabbix_agentd.d]# /etc/init.d/zabbix-agent restart
[root@server2 zabbix_agentd.d]# vim /usr/local/nginx/conf/nginx.conf
location / {
root html;
index index.html index.htm;
}
location /tatus {
stub_status on;
access_log off;
}
[root@server2 ~]# ln -s /usr/local/nginx/sbin/nginx /sbin/
[root@server2 ~]# nginx -t
[root@server2 ~]# /etc/init.d/httpd stop
[root@server2 ~]# nginx
##server测试是否能拿到数据
[root@zabbix_server ~]# zabbix_get -s 172.25.27.2 -k nginx.server
8
[root@zabbix_server ~]# zabbix_get -s 172.25.27.2 -k nginx.accept
9
[root@zabbix_server ~]# zabbix_get -s 172.25.27.2 -k nginx.handled
12
2.添加监控项并创建图形