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

 

 参考

posted @ 2020-09-05 20:51  Linux大魔王  阅读(4368)  评论(0编辑  收藏  举报