1. 安装
2. 用户操作-手动-自动发现-自动注册-API
3. 监控服务-http/nignx/mysql(percona)/tomcat
4. 云告警
5. 主动发送数据
6. proxy
官方文档
https://www.zabbix.com/documentation/4.0/zh/manual/installation/install_from_packages/rhel_centos
安装(172.25.41.1)
软件仓库
安装软件
yum install -y zabbix-server-mysql.x86_64
zabbix-web-mysql.noarch
mariadb-server.x86_64
zabbix-agent.x86_64
net-tools
开启并初始化数据库服务
systemctl start mariadb.service
systemctl enable mariadb.service
初始化数据库服务
mysql_secure_installation
mysql -uroot -p
创建新的数据库
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'redhat';
导入数据
cd /usr/share/doc/zabbix-server-mysql-4.0.5/
zcat create.sql.gz |mysql -p zabbix
编写配置文件/etc/zabbix/zabbix_server.conf
DBUser=zabbix
### Option: DBPassword
# Database password.
# Comment this line if no password is used.
#
# Mandatory: no
# Default:
DBPassword=redhat
### Option: DBSocket
# Path to MySQL socket.
#
# Mandatory: no
# Default:
# DBSocket=
### Option: DBPort
# Database port when not using local socket.
#
# Mandatory: no
# Range: 1024-65535
# Default:
# DBPort=
开启监控
systemctl start zabbix-server.service
systemctl enable zabbix-server.service
修改时区,开启网页服务/etc/httpd/conf.d/zabbix.conf
php_value date.timezone Asia/Shanghai
开启网页服务
systemctl start httpd
systemctl enable httpd
网页安装
http://172.25.41.1/zabbix
填写数据库密码
填写监控名称
确认结果
登陆(初始:Admin/zabbix),修改语言
设置开启客户端
yum install zabbix-agent.x86_64 -y
systemctl start zabbix-agent.service
systemctl enable zabbix-agent.service
端口:
10051------zabbix_server
10050------zabbix_agentd
添加用户
主机
172.25.41.2----agent
172.25.41.3----agent
yum install zabbix-agent -y
两台主机修改配置文件如下
Server=172.25.41.1
ServerActive=172.25.41.1
Hostname=server2(主机名)
启动服务,设置为开机自启动
systemctl start zabbix-agent.service
systemctl enable zabbix-agent.service
网页手动添加
配置–>主机–>创建主机(主集名称/群组/接口)
添加成功
点击主机,添加模板(更新)
自动发现
动作–>事件源选择自动发现–>启用动作
添加新的条件
点击自动发现
修改条件后启用
查看结果
自动注册
删除主机2,停用自动发现规则,添加自动注册规则
创建新的动作
添加操作
添加并启用该动作
重启server2客户端,查看结果
API调用
获取身份令牌
curl -s -X POST -H 'Content-Type:application/json' -d '
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix"
},
"id": 1,
"auth": null
}' http://172.25.41.1/zabbix/api_jsonrpc.php | python -m json.tool
查询主机信息
curl -s XPOST -H "Content-Type:application/json-rpc" -d '
{
"jsonrpc": "2.0",
"method": "host.get", #使用该接口进行检索
"params": { #设置检索方法
"output": [
"hostid",
"host"
],
"selectInterfaces": [
"interfaceid",
"ip"
]
},
"id": 1,
"auth":"202b33f2d8fa978eaa64a574fd4dbde2" #获取的身份令牌
}' http://172.25.41.1/zabbix/api_jsonrpc.php | python -m json.tool
删除节点
curl -s -X POST -H 'Content-Type:application/json' -d '
{
"jsonrpc": "2.0",
"method": "host.delete",
"params": [
"10265"# 节点ID
],
"auth": "202b33f2d8fa978eaa64a574fd4dbde2",身份令牌
"id": 1
}' http://172.25.41.1/zabbix/api_jsonrpc.php | python -m json.tool
创建节点
curl -s -X POST -H 'Content-Type:application/json' -d '
{
"jsonrpc": "2.0",
"method": "host.create",
"params": {
"host": "server2",# 主机名
"interfaces": [
{
"type": 1,
"main": 1,
"useip": 1,
"ip": "172.25.41.2",# IP
"dns": "",
"port": "10050"
}
],
"groups": [
{
"groupid": "2"# 主机组ID
}
],
"templates": [
{
"templateid": "10001"# 模板ID
}
]
},
"auth": "202b33f2d8fa978eaa64a574fd4dbde2",# 身份令牌
"id": 1
}' http://172.25.41.1/zabbix/api_jsonrpc.php | python -m json.tool
监控httpd服务
选择主机server2,添加模板内容如下
更新,并查看结果
监控nginx
server3安装nginx,同时支持监控
修改配置文件
location /status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
启动nginx,查看结果
添加nginx的活跃连接数作为zabbix监控项目
取活跃连接数
curl -s 127.0.0.1/status|grep Active|awk '{print$3}'
拷贝配置文件,添加该变量,并重启监控代理服务
cp /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf /etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf
UserParameter=nginx-active,curl -s 127.0.0.1/status|grep Active|awk '{print$3}'
安装zabbix-get软件,在server端查看配置结果
yum install zabbix-get.x86_64 -y
zabbix_get -s 172.25.41.3 -p 10050 -k "nginx-active"
网页添加该监控项
主机–>监控项–>创建监控项
添加该项图形监控
查看结果
显示乱码解决办法
下载simkai.ttf
执行命令如下
、
此时正常(也可以直接改为英文界面,就不会乱码)
监控Mysql
自带监控模板
创建与监控项目对应的目录
编写配置文件
[mysql]
user = zabbix
password = redhat
socket = /var/lib/mysql/mysql.sock
[mysqladmin]
host=localhost
user=root
password=redhat
socket=/var/lib/mysql/mysql.sock
重新启动zabbix,agent
systemctl restart zabbix-agent.service
网页添加Mysql监控模板
添加成功后查看信息模板
配置第三方监控模块Percona
下载安装percona-zabbix-templates-1.1.8-1.noarch.rpm
拷贝配置文件
cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
添加数据库用户与密码文件,也可以直接修改php文件
vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php.cnf
测试
删除产生的文件防止权限问题,并重新启动本地代理服务
网页添加该监控模板
查看配置结果,监控项增多
监控tomcat服务
安装jdk(172.25.33.2)
安装tomcat(172.25.33.2)同时配置软链接
编辑文件,配置监控信息
vim /usr/local/tomcat/bin/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'
启动tomcat,查看配置结果
配置JAVA网关(172.25.33.1)【也可以单独配置】
yum install zabbix-java-gateway.x86_64 -y
查看配置文件,启动服务,并设置为开机自启
vim zabbix_java_gateway.conf
systemctl start zabbix-java-gateway.service
systemctl enable zabbix-java-gateway.service
修改服务端内容,重新启动监控服务端
JavaGateway=172.25.33.1
JavaGatewayPort=10052
StartJavaPollers=5
重新启动服务,同时网页添加该模板
添加模板
查看结果
云告警平台的使用
进入网站,注册获得免费key
查看key
切换到zabbix脚本目录:
/usr/lib/zabbix/alertscripts/
获取Cloud Alert Agent包:
wget https://download.aiops.com/ca_agent/zabbix/ca_zabbix_release-2.1.0.tar.gz
解压、安装。
tar -xzf ca_zabbix_release-2.1.0.tar.gz
cd cloudalert/bin
bash install.sh key值域
进入zabbix,禁用其他告警媒介
查看告警方式
添加告警方式
配置代理主动告知
修改配置文件,关闭查询端口
#Server=172.25.33.1
### Option: StartAgents
# Number of pre-forked instances of zabbix_agentd that process passive checks.
# If set to 0, disables passive checks and the agent will not listen on any TCP port.
#
# Mandatory: no
# Range: 0-100
# Default:
StartAgents=0
重新启动zabbix-agent服务,查看配置结果
网页方式使用全克隆新建一个模板
更新其监控项目类型为客户端主动方式
使用主机添加该模板即可
配置proxy
关闭server3的zabbix-agent服务
systemctl stop zabbix-agent
systemctl disable zabbix-agent
安装数据库服务,并初始化,创建代理数据库
create database zabbix_proxy character set utf8 collate utf8_bin;
grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'redhat';
导入数据
修改配置文件/etc/zabbix/zabbix_proxy.conf
修改服务端,添加本地主机名
Server=172.25.33.1
ServerPort=10051
Hostname=server3
修改数据库信息(由于本地搭建,只修改数据库密码即可)
DBPassword=redhat
修改JAVA网关信息
JavaGateway=172.25.33.1
JavaGatewayPort=10052
StartJavaPollers=5
网页添加代理
清除zabbix_server配置缓存
zabbix_server -R config_cache_reload
启动代理服务
网页添加代理信息
修改代理端的配置文件,修改为代理主机的IP
Server=172.25.33.3
ServerActive=172.25.33.3
Hostname=server2
重新启动代理服务
systemctl restart zabbix_agentd
配置结果