zabbix5.0官方部署+监控nginx+mysql
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
安装Zabbix server 和 agent
yum -y install zabbix-server-mysql zabbix-agent
yum -y install centos-release-scl
编辑配置文件 /etc/yum.repos.d/zabbix.repo
[zabbix-frontend]
...
enabled=1
...
安装Zabbix frontend 包
yum -y install zabbix-web-mysql-scl zabbix-nginx-conf-scl
安装数据库
yum -y install mariadb-server mariad
systemctl start mariadb && systemctl enable mariadb
初始化数据库
mysql_secure_installation
密码:Flz_3qc123
设置MariaDB字符集为utf-8
vim /etc/my.cnf
...
[mysqld]
character-set-server=utf8mb4
....
[mysqld_safe]
....
!includedir /etc/my.cnf.d
....
systemctl restart mariadb
创建初始数据库
mysql -uroot -p
create database zabbix character set utf8 collate utf8_bin;
create user zabbix@localhost identified by '123456';
grant all privileges on zabbix.* to zabbix@localhost;
exit
导入初始架构和数据,系统将提示您输入新创建的密码。
zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
#输入zabbix用户的密码
为Zabbix server配置数据库
vim /etc/zabbix/zabbix_server.conf
DBPassword=123456 #取消注释并写上密码
为Zabbix前端配置PHP
vim /etc/opt/rh/rh-nginx116/nginx/conf.d/zabbix.conf #取消注释和更正
listen 80;
server_name 172.16.186.141;
....
vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
....
listen.acl_users = apache,nginx #增加nginx用户
....
php_value[date.timezone] = Asia/Shangha #取消注释并更正
....
启动Zabbix server和agent进程
systemctl restart zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
systemctl enable zabbix-server zabbix-agent rh-nginx116-nginx rh-php72-php-fpm
浏览器访问:172.16.186.141
确保下图中都为ok即可
帐密:Admin/zabbix
配置其他linux agent端
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
yum -y install zabbix-agent
vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=172.16.186.141 #zabbix server端的IP
ServerActive=172.16.186.141 #主动连接zbbix-server,主要用于自动注册时使用
Hostname=test3 #该名称为在服务端添加主机时的名字,需要注意
Include=/etc/zabbix/zabbix_agentd.d/*.conf
开启zabbix agent:systemctl start zabbix-agent
检查:netstat -anpt|grep 10050
创建主机
配置----主机----创建主机
如下图所示,再点击“172.16.186.142”字样进去选择模板
选择好模板后点击下图中的“更新”
点击172.16.186.142后面的“图形”----右上角“创建图形”
下图中的“主机组”和“主机”都选好后点击应用
点击下图中左下角中的172.16.186.142
点击下图中的预览
监控windows
下载:https://www.zabbix.com/cn/download_agents
https://assets.zabbix.com/downloads/5.0.3/zabbix_agent-5.0.3-windows-amd64-openssl.msi
服务端添加rambo-PC的主机
选择模板,模板有2处要添加,需注意
监控Nginx
监控nginx还在上述的linux服务器上进行
下载nginx:wget -c https://nginx.org/download/nginx-1.19.2.tar.gz
tar -zxvf nginx-1.19.2.tar.gz
cd nginx-1.19.2
关闭debug日志
vim auto/cc/gcc
171 # debug
172 #CFLAGS="$CFLAGS -g"
安装依赖
yum -y install gcc gcc-c++ make pcre-devel zlib-devel
./configure --prefix=/usr/local/nginx --with-http_stub_status_module && make && make install
更改配置文件
vim /usr/local/nginx/conf/nginx.conf
....
....
http{
....
....
server {
....
.....
location /status {
stub_status on; #加载模块
access_log off;
allow 127.0.0.1; #访问控制;仅允许本机可以访问
deny all;
}
....
....
}
}
检查语法:/usr/local/nginx/sbin/nginx -t
开启nginx:/usr/local/nginx/sbin/nginx
采集数据并添加nginx监控项
(1)采集Nginx发起的活跃连接数
利用shell命令获取活跃连接数
curl http://127.0.0.1/status
curl -s http://127.0.0.1/status | grep Active
curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
指定key-value
cd /etc/zabbix/zabbix_agentd.d/
拷贝模板文件
cp /usr/share/doc/zabbix-agent-5.0.3/userparameter_mysql.conf ./userparameter_nginx.conf
修改文件
vim userparameter_nginx.conf #将文件清空并重新写入以下数据
UserParameter=nginx.active,curl -s http://127.0.0.1/status | grep Active | awk '{print $3}'
注:nginx.active是key(待会儿会用到),curl后面的是value
重启zabbix-agent
systemctl restart zabbix-agent
zabbiix服务端测试
安装zabbix_get工具
yum -y install zabbix-get
测试agent
#若可以获取到数据即时为配置成功
zabbix_get -s 172.25.66.2 -p 10050 -k "nginx.active"
网页配置
(1)在test3(172.16.186.142)主机中创建nginx_active监控项
配置----主机----点击172.16.186.142
点击下图中的“监控项”----右上角“创建监控项”
注上图:名称可自定义,类型选择客户端,键值必须和文件中设定的相同(该文档从此处往上找第一个粉色背景)
点击下图中的“图形 18”----右上角“创建图形”
点击下图中“监控项”中的“添加”
如下图,找到nginx_active项,前面打上对号----选择----添加
点击下图中最下面的nginx_status----预览,图形中有数据,即说明监控nginx并采集数据成功
解决乱码问题:
将win系统上自己喜欢的自体发送到172.16.186.141服务器上的/usr/share/zabbix/assets/fonts/中,这里我使用winscp发送
启用该字体: vim /usr/share/zabbix/include/defines.inc.php
来到web页面上刷新即可看到效果
采集Nginx总共处理的请求数
利用shell命令获取总共处理的请求数
curl http://127.0.0.1/status
#Nginx总共处理了73个连接,成功创建73次句柄(证明中间没有失败的),总共处理了74个请求
指定key-valus
vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf
添加:UserParameter=nginx.accept,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'
重启zabbix-agent:systemctl restart zabbix-agent
网页中添加监控项(和上述同样的方法添加)
此时无需重新创建图形,直接将其添加到刚创建的nginx_status图形中即可
在页面上的172.16.186.174服务器中--图形----nginx_status
下图中点击倒数第二个添加
将nginx_accept项前打对号----选择----更新
预览图形
图形中有数据,即说明监控nginx并采集数据成功
通过percona插件监控 MySQL
zabbix自带的MySQL模块的监控项有点少,该示例还在172.16.186.142服务器上进行
安装
yum -y install mariadb mariadb-server mariadb-libs mariadb-devel
启动并设置开机自动启动
systemctl start mariadb && systemctl enable mariadb
初始化数据库设置(无密码直接回车)
mysql_secure_installation
#密码是Flz_3qc123,其他都选择Y
在Zabbix server主机中,添加MySQL数据库模板,选择----Templates/Databases---Template DB MySQL---选择
下图中点击“更新”
点击下图中配置---模板,可以查看到MySQL的监控项有多少项,下为39项,如想监控更多mysql的项请继续往下看,如39项够用了即按照相应的方法添加即可,这里暂且认为39项不够用来说
加percona插件来监控MySQL的更多项
mkdir /var/lib/zabbix && cd /var/lib/zabbix/
vim .my.conf
[mysql]
host = localhost
user = root
password = Flz_3qc123 #数据库超级用户密码
socket = /var/lib/mysql/mysql.sock
[mysqladmin]
host = localhost
user = root
password = Flz_3qc123 #数据库超级用户密码
socket = /var/lib/mysql/mysql.sock
重启zabbix-agent
systemctl restart zabbix-agent
配置插件
wget -c https://www.percona.com/downloads/percona-monitoring-plugins/percona-monitoring-plugins-1.1.8/binary/redhat/7/x86_64/percona-zabbix-templates-1.1.8-1.noarch.rpm
rpm -ivh percona-zabbix-templates-1.1.8-1.noarch.rpm
yum -y install php php-mysql
拷贝文件
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf #新建该文件
<?php
$mysql_user = 'root';
$mysql_pass = 'Flz_3qc123';
重启zabbix-agent
systemctl restart zabbix-agent
手工调用插件
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg 或者 gw
cat /tmp/localhost-mysql_cacti_stats.txt #能看到数据即可
rm -rf /tmp/localhost-mysql_cacti_stats.txt
zabbix自动调用插件
模板下载:https://github.com/Jenychen1996/zabbix-templates/blob/master/zbx_percona_mysql_template.xml
#复制该文件内容并改名为zbx_percona_mysql_template.xml
下图中,配置----模板---下图右上角“导入”
在配置---模板---主机群组中可看到刚导入的模板(下图中为第一项),percona Templates前打对号---选择---应用
如下图所示,可以看到监控项增加到了191项
将刚导入的模板添加到172.16.186.142主机中
配置----主机----172.16.186.142----模板---选择---如下图
可以看到172.16.186.142的监控项增多到了269项,如下图
.
.
.
.
游走在各发行版间老司机QQ群:905201396
不要嫌啰嗦的新手QQ群:756805267
Debian适应QQ群:912567610