server20,redhat7.3 server
server1.rhedhat6.5 agent
iptables和selinux关闭
server20:
yum install -y
fping-3.10-1.el7.x86_64.rpm
iksemel-1.4-2.el7.centos.x86_64.rpm
php-bcmath-5.4.16-42.el7.x86_64.rpm
php-mbstring-5.4.16-42.el7.x86_64.rpm
zabbix-agent-3.4.6-1.el7.x86_64.rpm
zabbix-server-mysql-3.4.6-1.el7.x86_64.rpm
zabbix-web-3.4.6-1.el7.noarch.rpm
zabbix-web-mysql-3.4.6-1.el7.noarch.rpm
yum install mariadb-server mariadb php -y
systemctl start mariadb
mysql_secure_installation
mysql -p
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'hello'; #本机使用zabbix账号连接本地的mysql
ariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec
cd /usr/share/doc/zabbix-server-mysql-3.4.6/
zcat create.sql.gz | mysql -uzabbix -phello zabbix
vim /etc/zabbix/zabbix_server.conf
125 DBPassword=hello
vim /etc/php.ini
878 date.timezone =Asia/Shanghai
systemctl start zabbix-server zabbix-agent httpd
systemctl enable zabbix-server zabbix-agent httpd
浏览器访问:http://172.25.92.20/zabbix
server1(agent):
rpm -ivh zabbix-agent-3.4.6-1.el6.x86_64.rpm
vim /etc/zabbix/zabbix_agentd.conf
97 Server=172.25.92.20
138 ServerActive=172.25.92.20
149 Hostname=server1
/etc/init.d/zabbix-agent start
手动添加:
浏览器端添加被检控主机server1:
添加成功:
自动发现:
删除手动添加的server1
启用自动发现规则:
定义自动发现的动作:
设置自动发现的动作和规则开启(enable)
然后重新开启agent和server,就会自动发现主机
自动注册:
首先删除自动发现的server1:
然后关闭自动发现的规则和动作。
选自动注册,创建一个动作
设置自动注册开启。
重启动agent和server。
自动注册server1,如图
监控数据库(server–>mysql)
[root@server20 ~]# cd /etc/zabbix/zabbix_agentd.d/
vim userparameter_mysql.conf
#zabbix代理端的userparameter就相当于通过脚本获取要监控的值,把相关的命令或者脚本写在此文件中,然后zabbix server读取文件,在此文件中可以看到对数据库的动作,但是要连接数据库,所以要指出数据库连接的用户和密码。
mkdir /var/lib/zabbix
cd /var/lib/zabbix
vim .my.cnf
systemctl restart zabbix-zgent
然后在浏览器上添加:
zbbix server —>模板—> 选择mysql的模板(Template Percona MySQL Server)—》查看图形
percana数据库(server–>agent–>mysql)
server20上:
rpm -ivh percona-zabbix-templates-1.1.7-2.noarch.rpm
cd /var/lib/zabbix/percona/templates
cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
systemctl restart zabbix-agent
vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf #同样需要指出访问percona数据库的用户和密码。
<?php
$mysql_user = 'root';
$mysql_pass = 'hello';
vim /var/lib/zabbix/.my.cnff
[client]
user = root
password = hello
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg #本地测试
sudo -u zabbix -H /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave
导入percona的模板:
勾选聚合图形
添加倒入的模板到zabbix server (Template Percona MySQL Server)
cd /tmp
rm -fr localhost-mysql_cacti_stats.txt #默认的此文件是root用户和用户组,删除后自动建立一个同样的文件,以zabbix为用户和组
nginx(active connections)
nginx(accept connections)
agent(server1)安装nginx:
yum install -y gcc pcre-devel openssl-devel
tar zxf nginx-1.12.0.tar.gz
vim src/core/nginx.h
vim auto/cc/gcc
cd nginx-1.12.0
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module
make
make install
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
vim /usr/local/nginx/conf/nginx.conf
57 location /status {
58 stub_status on;
59 access_log off;
60 allow 127.0.0.1;
61 deny all;
62
63 }
nginx #启动nginx
[root@server1 nginx-1.12.0]# curl 127.0.0.1/status #查看nginx的处理的链接数,接受的连接数和处理的请求数
Active connections: 1
server accepts handled requests
1 1 1
Reading: 0 Writing: 1 Waiting: 0
[root@server1 nginx-1.12.0]# curl -s http://127.0.0.1/status | grep Active | awk '{print $NF}' #获取nginx活跃的连接数(active)
1
[root@server1 zabbix_agentd.d]# curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}' #获取nginx处理的连接数(accept)
37
cd /etc/zabbix/zabbix_agentd.d/
cp 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 $NF}'
UserParameter=nginx.accept,UserParameter=nginx.accept,curl -s http://127.0.0.1/status | awk NR==3 | awk '{print $1}'
/etc/init.d/zabbix-agent restart
server端(server20):
rpm -ivh zabbix-get-3.4.6-1.el7.x86_64.rpm
zabbix_get -s 172.25.92.1 -p 10050 -k ‘nginx.active’
zabbix_get -s 172.25.92.1 -p 10050 -k ‘nginx.accept’ #本地测试key是否能获取到检测的值
浏览器上为agent添加监控项
可以看到监控项的图形