下载软件包
可以点击此处去官网下载
我这里是rhel7:
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 #这两个是要符合mysql版本的插件
zabbix-agent-3.4.6-1.el7.x86_64.rpm
zabbix-get-3.4.6-1.el7.x86_64.rpm
zabbix-java-gateway-3.4.6-1.el7.x86_64.rpm
zabbix-proxy-mysql-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
安装完成后
打开mysql 并授权
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'redhat';
Query OK, 0 rows affected (0.00 sec)
# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix
在配置文件中修改
vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=<password>
在分发一些其他的agent节点
并在配置文件里面将端口号码改写指向server
启动服务
并进行搜索
首先创建监控向
在图形里创建图形
进行预览
当然添加多个监控项也是可以的
首先在监控项中按照原来方法一一加入,然后在图像栏里面添加进去即可
当然自带的监控项非常少 对于数据库来说是非常的鸡肋的
因为我们需要增加他的监控项导入新的模版
我这里所用的是percona
官网位置
首先安装改软件
[root@server22 tmp]# cd /var/lib/zabbix/
[root@server22 zabbix]# ls
percona
[root@server22 zabbix]# cd percona/
[root@server22 percona]# ls
scripts templates
[root@server22 percona]# cd scripts/
[root@server22 scripts]# ls
get_mysql_stats_wrapper.sh ss_get_mysql_stats.php
[root@server22 scripts]# cd ..
[root@server22 percona]# ls
scripts templates
[root@server22 percona]# cd templates/
[root@server22 templates]# ls
userparameter_percona_mysql.conf
zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.8.xml
[root@server22 templates]# vim userparameter_percona_mysql.conf #相应的箭值对 以及key值
将这个文件复制到zabbix-agent.d/下 : 进行测试 也可以将他们绘制为曲线图 方法同上
导入该模版并添加
可以看到监控项已经为200多个了
jxm
在agent端
[root@server4 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'
在server设置java网关
下载并开启 产看10052 端口
并在server的配置文加中书名java网关
重起服务 导入模版以及jmx接口查看结果
报警通知
首先确保机器能够上网
注册110云警告
添加应用并生成应用key
1.切换到zabbix脚本目录:
cd /usr/local/zabbix-server/share/zabbix/alertscripts
补充:查看zabbix脚本目录方法:
vi /etc/zabbix/zabbix_server.conf
查看AlertScriptsPath
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 --【--处填入您新建应用时生成的appkey】
注:在安装过程中根据安装提示,输入zabbix管理/监控/web登陆地址、管理员用户名、密码。
4.当提示”安装成功”时表示安装成功!
产生新的zabbix告警(problem),动作状态为“已送达”表示集成成功。
注:集成成功后不需要启动服务,可直接使用。
会自动生成用户以及触发器等
将一个zabbix的节点停止掉
等待 会有报错信息
agent主动模式
当zabbix_server端当主机数量过多的时候,虽然可以通过增加代理的方式来进行收集数据,但是需要增加proxy机,所以还可以通过zabbix_agent主动往由Server端去发生数据来解决,否则,Zabbix会出现严重的性能问题,主要表现如下:
1、当被监控端主机过多时,web操作很卡,容易出现502,已经数据库等方面的问题。 2、容易造成图层断裂。
3、开启的进程(Pollar)太多,即使减少item数量,以后加入一定量的机器也会有问题所以下面主要往两个优化方向考虑: 1、添加Proxy节点做分布式监控 2、调整Agentd为主动模式
新建一个agent节点:
2在Zabbix管理界面修改模板作为主动模式的模板:
找到模板Template OS Linux:
并全克隆改名为主动模式的你想要修改的名字
在模板夜里找到刚才新建的模板,点击监控项:
全部选中批量修改
这样模版就已经成功了
在节点端编写配置文件
在里面指定
当然需要解析
zabbix配置文件详解
zabbix的配置文件一般有三种:
zabbixserver的配置文件zabbix_server.conf
zabbixproxy的配置文件zabbix_proxy.conf
zabbix_agentd的配置文件zabbix_agentd.conf
1.zabbix_server的配置文件:
NodeID=0 #分布式节点id号,0代表是独立服务器,默认是被注释掉的,不强制配置
ListenPort=10051 #zabbix server的端口,默认是10051,可以自行修改,
范围是1024-32767 ,一般默认即可
SourceIP= #连接的源ip地址,默认为空,默认即可
LogFile=/tmp/zabbix_server.log #日志文件的存放位置
LogFileSize=1 #日志文件的大小,单位为MB,当设置为0时,表示不仅行日志轮询,
默认设置为1,默认即可
DebugLevel=3 #指定调试级别,默认即可
PidFile=/tmp/zabbix_server.pid #pid文件的存放位置
DBHost=localhost #数据库主机名,当设置为localhost时,连接mysql通过sock
DBName=zabbix #指定存放zabbix数据数据库的名字
DBUser=zabbix #指定连接数据库的用户名
DBPassword=123456 #用户连接数据库需要的密码
DBSocket=/var/lib/mysql/mysql.sock #前文主机设置为localhost,用户
连接数据库所用的sock位置,
DBPort=3306 #数据库的端口号,当用sock连接时,无关紧要,当通过网络连接时需设置
StartPollers=5 #默认即可
StartIPMIPollers=0 #使用IPMI协议时,用到的参数
StartTrappers=5 #打开的进程数,
StartPingers=1 同上
StartDiscoverers=1
StartHTTPPollers=1
JavaGateway=127.0.0.1 #JavaGateway的ip地址或主机名
JavaGatewayPort=10052 #JavaGateway的端口号
StartJavaPollers=5 #开启连接javagatey的进程数
SNMPTrapperFile=/tmp/zabbix_traps.tmp
StartSNMPTrapper=0 #如果设置为1,snmp trapper进程就会开启
ListenIP=0.0.0.0 #监听来自trapper的ip地址
ListenIP=127.0.0.1
HousekeepingFrequency=1 #zabbix执行Housekeeping的频率,单位为hours
MaxHousekeeperDelete=500 #每次最多删除历史数据的行
SenderFrequency=30 #zabbix试图发送未发送的警报的时间,单位为秒
CacheSize=8M #缓存的大小
CacheUpdateFrequency=60#执行更新缓存配置的时间,单位为秒数
StartDBSyncers=4
HistoryCacheSize=8M
TrendCacheSize=4M
HistoryTextCacheSize=16M
NodeNoEvents=0
NodeNoHistory=0
Timeout=3
TrapperTimeout=300
UnreachablePeriod=45
UnavailableDelay=60
UnreachableDelay=15
AlertScriptsPath=/usr/local/zabbix/shell #脚本的存放路径
FpingLocation=/usr/local/sbin/fping #fping指令的绝对路径
SSHKeyLocation=
LogSlowQueries=0
TmpDir=/tmp
Include=/usr/local/etc/zabbix_server.general.conf
Include=/usr/local/etc/zabbix_server.conf.d/ #子配置文件路径
StartProxyPollers=1 #在zabbix proxy被动模式下用此参数
ProxyConfigFrequency=3600#同上
ProxyDataFrequency=1
zabbix_agentd的配置文件
啊别必须
PidFile=/tmp/zabbix_agentd.pid #pid文件的存放位置
LogFile=/tmp/zabbix_agentd.log #日志文件的位置
LogFileSize=1 #当日志文件达到多大时进行轮询操作
DebugLevel=3 #日志信息级别
SourceIP= #连接的源ip地址,默认为空,即可
EnableRemoteCommands=0 #是否允许zabbix server端的远程指令,
0表示不允许,
1表示允许
LogRemoteCommands=0 #是否开启日志记录shell命令作为警告 0表示不允许,1表示允许
Server=127.0.0.1 #zabbix server的ip地址或主机名,可同时列出多个,需要用逗号隔开
ListenPort=10050 #zabbix agent监听的端口
ListenIP=0.0.0.0 #zabbix agent监听的ip地址
StartAgents=3 #zabbix agent开启进程数
ServerActive=127.0.0.1 #开启主动检查,修改为本地127.0.0.1地址
Hostname=Zabbix server#在zabbix server前端配置时指定的主机名要相同,最重要的配置
RefreshActiveChecks=120 #主动检查刷新的时间,单位为秒数
BufferSend=5 #数据缓冲的时间
BufferSize=100 #zabbix agent数据缓冲区的大小,当达到该值便会发送所有的数据到zabbix server
MaxLinesPerSecond=100 #zabbix agent发送给zabbix server最大的数据行
AllowRoot=0 #是否允许zabbix agent 以root用户运行
Timeout=3 #设定处理超时的时间
Include=/usr/local/etc/zabbix_agentd.userparams.conf
Include=/usr/local/etc/zabbix_agentd.conf.d/ #包含子配置文件的路径
UnsafeUserParameters=0 #是否允许所有字符参数的传递
UserParameter= #指定用户自定义参数
zabbixproxy的配置文件
Server=192.168.70.133 #指定zabbix server的ip地址或主机名
Hostname=zabbix-proxy-1.35 #定义监控代理的主机名,需和zabbix server前端配置时指定的节点名相同
LogFile=/tmp/zabbix_proxy.log #指定日志文件的位置
PidFile=/tmp/zabbix_proxy.pid #pid文件的位置
DBName=zabbix_proxy #数据库名
DBUser=zabbix #连接数据库的用户
DBPassword=123456#连接数据库用户的密码
ConfigFrequency=60 #zabbix proxy从zabbix server取得配置数据的频率
DataSenderFrequency=60 #zabbix proxy发送监控到的数据给zabbix server的频率