**
Zabbix基本介绍:
**
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。它能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server:可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台之上。
zabbix agent:需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux ,Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000/2003/XP/Vista等系统之上。
Server:指安装zabbix服务的服务器(以下简称服务器端),是最重要的部份,主要安装在linux系统上(支持多种操作系统),采用mysql存储监.控数据并使用apache+php的方式呈现。
**
环境搭建
**
[root@server2 3.4]# ls
el6 php-mbstring-5.4.16-42.el7.x86_64.rpm zabbix-proxy-mysql-3.4.6-1.el7.x86_64.rpm
fping-3.10-1.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
iksemel-1.4-2.el7.centos.x86_64.rpm zabbix-get-3.4.6-1.el7.x86_64.rpm zabbix-web-3.4.6-1.el7.noarch.rpm
php-bcmath-5.4.16-42.el7.x86_64.rpm zabbix-java-gateway-3.4.6-1.el7.x86_64.rpm zabbix-web-mysql-3.4.6-1.el7.noarch.rpm
[root@server2 3.4]# yum install * -y
yum install php php-mysql httpd
**
配置mysql
**
# mysql
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'westos';
mysql> quit;
# cd /usr/share/doc/zabbix-server-mysql-2.4.5/create
zcat create.sql.gc |mysql -u zabbix -p zabbix(导入的库名字)
**
配置zabbix
**
# vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=westos
**
配置httpd
**
配置 php
# vim /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value date.timezone Asia/Shanghai
**
启动zabbix
**
启动 zabbix server、zabbix agent、httpd
# service httpd start
# service zabbix-server start
# service zabbix-agent start
启动后在配置重—主机看到可用性为绿色即可
**
添加监控server
**
在被监控端安装软件包:
zabbix-2.4.5-1.el6.x86_64.rpm
zabbix-agent-2.4.5-1.el6.x86_64.rpm
配置 zabbix agent
# vim /etc/zabbix/zabbix_agentd.conf
Server=172.25.15.21
ServerActive=172.25.15.21
Hostname=test2
#主机名需要有解析
启动 zabbix agent
# service zabbix-agent start
进入浏览器配置发现规则与动作
自动添加成功
手动添加主机
选择linux os模板即可
手动添加 server自动注册方式 同样绿色zbx即可
**
api的使用
**
验证api
curl -s -X POST -H 'Content-Type:application/json' -d '
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "westos"
},
"id": 1,
"auth": null
}' http://172.25.15.21/zabbix/api_jsonrpc.php | python -m json.tool
[root@server2 mnt]# chmod +x 1.sh
[root@server2 mnt]# sh 1.sh
{
"id": 1,
"jsonrpc": "2.0",
"result": "289af3bcd5dbebc3027b1c5b078f373c"
}
查找host.id
curl -s -X POST -H 'Content-Type:application/json' -d '
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": [
"hostid",
"host"
],
"selectInterfaces":[
"interfaceid",
"ip"
]
},
"auth": "289af3bcd5dbebc3027b1c5b078f373c",
"id": 0
}' http://172.25.15.21/zabbix/api_jsonrpc.php | python -m json.tool
[root@server2 mnt]# sh 2.sh
{
"id": 0,
"jsonrpc": "2.0",
"result": [
{
"host": "Zabbix server",
"hostid": "10084",
"interfaces": [
{
"interfaceid": "1",
"ip": "127.0.0.1"
}
]
},
{
"host": "test2",
"hostid": "10256",
"interfaces": [
{
"interfaceid": "4",
"ip": "172.25.15.7"
}
]
}
]
}
api删除主机
curl -s -X POST -H 'Content-Type:application/json' -d '
{
"jsonrpc": "2.0",
"method": "host.delete",
"params": [
"10256"
],
"auth": "289af3bcd5dbebc3027b1c5b078f373c",
"id": 0
}' http://172.25.15.21/zabbix/api_jsonrpc.php | python -m json.tool
----------
[root@server2 mnt]# chmod +x 3.sh
[root@server2 mnt]# sh 3.sh
{
"id": 0,
"jsonrpc": "2.0",
"result": {
"hostids": [
"10256"
]
}
}
如图 删除成功
**
添加主机
**
自定义监控
测试 监控nginx
vim /etc/nginx/conf.d/defaults.conf
}
location /status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
查看nginx显示的数据
curl -s http://127.0.0.1/status
Active connections: 1
server accepts handled requests
395 395 399
Reading: 0 Writing: 1 Waiting: 0
将数据发送给zabbix
编辑读取数据的脚本
vim /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf
UserParameter=nginx.active,curl -s http://127.0.0.1/status|grep Active|awk '{print $3}'
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.requests,curl -s http://127.0.0.1/status|awk NR==3|awk '{print $3}'
zabbix端 yum zabbix-get rpm软件即可
[root@server2 zabbix]# zabbix_get -s 172.25.15.7 -p 10050 -k 'nginx.active'
1
[root@server2 zabbix]# zabbix_get -s 172.25.15.7 -p 10050 -k 'nginx.server'
176
[root@server2 zabbix]# zabbix_get -s 172.25.15.7 -p 10050 -k 'nginx.accept'
186
重启各项服务即可
进入浏览器修改配置
键值一定与脚本文件中对应
效果如下
**
导入percona模板
**
yum install percona-zabbix-templates-1.1.8-1.noarch.rpm
cd /var/lib/zabbix/percona/templates/
cp userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
cd /etc/zabbix/zabbix_agentd.d/
在这里可以看到key值
[root@server2 zabbix_agentd.d]# cat userparameter_percona_mysql.conf
UserParameter=MySQL.Sort-scan,/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh kt
UserParameter=MySQL.slave-stopped,/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh jh
UserParameter=MySQL.Com-replace,/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh jz
UserParameter=MySQL.innodb-lock-structs,/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh lp
编辑php文件修改登陆数据库的用户密码
cd /var/lib/zabbix/percona/scripts/
vim ss_get_mysql_stats.php.cnf
<?php
$mysql_user='root';
$mysql_pass='westos';
这里测试完脚本后在tmp下删除脚本导入的数据(local)再继续实验
重启agent服务
测试key值是否生肖
[root@server2 zabbix_agentd.d]# zabbix_get -s 127.0.0.1 -p 10050 -k 'MySQL.Com-replace'
0
本地导入模板即可
主机添加模板
看到主机监控项增加
**
使用110云监控zabbix
**
1.切换到zabbix脚本目录
vi /etc/zabbix/zabbix_server.conf
查看AlertScriptsPath
cd /usr/local/zabbix-server/share/zabbix/alertscripts
2.获取OneITSM agent包:
wget http://www.onealert.com/agent/release/oneitsm_zabbix_release-1.2.0.tar.gz
3.解压、安装。
tar -zxf oneitsm_zabbix_release-1.2.0.tar.gz
cd oneitsm/bin
bash install.sh d73ad4bf-b3eb-5e25-8867-1880eb8a90b9
浏览器查看
新的触发器
测试 停止test2
查看问题状态 已送达即可
**
通过zabbix监控tomcat
**
使用的java-gateway为java软件 所以安装jdk即可
test2安装tomcat
修改
[root@server0 bin]# vim catalina.sh
CATALINA_OPTS='-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=8888
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false'
[root@server0 bin]# lsof -i:8888
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 24292 root 20u IPv6 194585 0t0 TCP *:ddi-tcp-1 (LISTEN)
java 24292 root 56u IPv6 199434 0t0 TCP server0:ddi-tcp-1->test2:57520 (ESTABLISHED)
配置监控端
安装 zabbix-java-gateway
修改zabbix-server的配置,编辑/etc/zabbix/zabbix_server.conf ,修改下面几个参数:
# JavaGateway的服务器IP地址
JavaGateway=192.168.89.204
# JavaGateway的服务端口
JavaGatewayPort=10052
# 从javaGateway采集数据的进程数
StartJavaPollers=5
重启所有服务
浏览器测试
修改模板即可
看到jmx打开即可
**
zabbix 主被动配置
**
配置agent文件
注释Server
Serveractive=172.25.15.21
打开# StartAgents=0(默认0)
**
设置proxy代理
**
安装 zabbix-proxy-mysql
[root@node3 ~]# vim /etc/zabbix/zabbix_proxy.conf
Server=172.16.10.126 #指向Zabbix Server
Hostname=node3.scholar.com #主机名
DBHost=localhost #指定数据库
DBName=zabbix_proxy #数据库名
DBUser=zbuser #数据库用户
DBPassword=zbpass #数据库密码
ConfigFrequency=60 #配置文件同步间隔
DataSenderFrequency=5 #数据同步间隔
导入proxy库数据
[root@server1 3.4]# cd /usr/share/doc/zabbix-proxy-mysql-3.4.6/
[root@server1 zabbix-proxy-mysql-3.4.6]# ls
AUTHORS ChangeLog COPYING NEWS README schema.sql.gz
[root@server1 zabbix-proxy-mysql-3.4.6]# zcat schema.sql.gz |mysql -u zabbix -p zabbix_proxy
Enter password:
修改被代理的主机
[root@server0 bin]# vim /etc/zabbix/zabbix_agentd.conf
Server=172.25.15.22 proxy端
serveractive=172.25.15.22
浏览器修改配置
如图出现代理即可