zabbix的服务端需要LAMP或者LNMP的环境,所以这里的安装方式有很多种,我们选择一种比较简单的安装方式,直接用官方提供的源来安装。
第一步 导入源
sudo rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6d53b7a331ae0234b5de6e59eafbdf07.png)
第二步 安装zabbix包
yum install -y zabbix-server-mysql
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/c353273fdd687c8843f3ff2b578b9a42.png)
yum install -y zabbix-web-mysql
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/f005ade14852ae9f0c096529e0f45df2.png)
yum install -y mariadb-server
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/33dc8d146806437d3377592d9a9e5b0c.png)
第三步 启动mariadb
systemctl start mariadb
systemctl enable mariadb
第四步 创建zabbix数据库
mysql
create database zabbix character set utf8 collate utf8_bin;
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix#123456';
第五步 初始化数据库
进入路径:/usr/share/doc/zabbix-server-mysql-3.0.8 执行下面脚本
zcat create.sql.gz | mysql -uroot -p zabbix
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/0a6a5d839b0994932485d18b40698153.png)
第六步 修改配置文件
vim /etc/zabbix/zabbix_server.conf
修改一下参数:
DBName=zabbix DBUser=zabbix DBPassword=zabbix#123456
第七步 启动zabbix服务
systemctl start zabbix-server
systemctl enable zabbix-server
第八步 注意事项
关闭防火墙:stop firewalld.service
关闭SELinuex:**setenforce 0 **
开启httpd服务:systemctl start httpd
systemctl enable httpd
第九步 配置页面
**http://虚拟机IP地址/zabbix **
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/4d94815ba1d0017124921c2f5e3eae58.png)
点击next step
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/eb386b430c0b7ed8c8b8f474137aeb87.png)
在这一步出现上图中的错误,解决方案:
进入 etc/httpd/conf.d/zabbix.conf 将 php_value date.timezone Europe/Riga 前面的注释去掉
然后重新启动 httpd服务: service httpd restart 刷新页面
点击next step
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8c52f8a1f83712ac1af6e4e0e1661260.png)
输入刚刚在配置文件中配置好的值,然后一路点击next
输入用户名密码(用户名默认Admin,密码默认zabbix)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/9efe5282a45e46cc21e5c683b1c6d41f.png)
配置成功后成功进入页面:
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/07d06a9afc63becb312e7784d135c462.png)
第十步 zabbix server is running | No.解决方法
根据日志报错排查
cat /var/log/zabbix/zabbix_server.log
zabbix进程查看
ps aux |grep zabbix
查看监听zabbix server---------zabbix agent 10051---10050端口
netstat -nplut |grep zabbix
登陆报错解决 zabbix server is running | No.
解决方法1
setsebool -P httpd_can_network_connect on selinux 允许它通过httpd服务
关闭selinux
永久关闭vi /etc/selinux/config
#SELINUX=disabled
#SELINUXTYPE=targeted
临时关闭 setenforce 0
关闭防火墙
永久关闭 chkconfig iptables off
临时生效 iptables -F
解决方法2
cd /etc/zabbix/web/
修改配置文件
vi zabbix.conf.php
修改lochlhost为 自己服务器的IP地址
修改$DB['SERVER'] = '192.168.30.6';
修改$ZBX_SERVER = '192.168.30.6';
重启服务
service httpd restart
service zabbix-agent restart
service zabbix-server restart
第十一步 Zabbix客户端安装
在客户端上也需要下载zabbix的yum源
wget repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
yum install -y zabbix-agent
vim /etc/zabbix/zabbix_agentd.conf //修改如下配置
Server=127.0.0.1修改为Server=192.168.133.130 //定义服务端的ip(被动模式)
ServerActive=127.0.0.1修改为ServerActive=192.168.133.130 //定义服务端的ip(主动模式)
Hostname=Zabbix server修改为Hostname=aming-123 //这是自定义的主机名,一会还需要在web界面下设置同样的主机名
setenforce 0
systemctl start zabbix-agent
systemctl enable zabbix-agent
主动模式和被动模式
主动或者被动是相对客户端来讲的
被动模式,服务端会主动连接客户端获取监控项目数据,客户端被动地接受连接,并把监控信息传递给服务端
主动模式,客户端会主动把监控数据汇报给服务端,服务端只负责接收即可。
当客户端数量非常多时,建议使用主动模式,这样可以降低服务端的压力。
服务端有公网ip,客户端只有内网ip,但却能连外网,这种场景适合主动模式
添加主机
先添加主机组aming-test
再添加主机,主机名称和可见名称都写aming-02
群组选择aming_test
IP地址填写客户端的ip 192.168.133.132
几个概念:应用集、监控项、触发器、图形、自动发现、web监测
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/91899afcc9a06aa39bf8382ff949de45.png)
添加模板
可以自定义一个常用模板,方便给新增主机添加监控项目
自定义aming模板
把其他自带模板里面的某些监控项目(比如cpu、内存等)复制到aming模板里
定义触发器
添加图形
自动发现,找到Template OS Linux,点击右侧的自动发现,参考Mounted filesystem discovery和Network interface discovery定义规则
可以直接导出、导入模板,然后再删除不需要的对象
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/e43042fddaa334ba1c0b116a6f20d8e4.png)
处理图形中乱码
设置为中文后,zabbix图形的中文文字会显示小方框
这是因为在zabbix的字体库中没有中文字体,需要从windows上借用一个过来
vim /usr/share/zabbix/include/defines.inc.php //搜索ZBX_FONTPATH
它定义的路径是“fonts”,它是一个相对路径,绝对路径为/usr/share/zabbix/fonts,而字体文件为“ZBX_GRAPH_FONT_NAME”所定义的“graphfont”,它是一个文件,绝对路径为/usr/share/zabbix/fonts/graphfont
windows字体路径为“C:\Windows\Fonts\”,找到“simfang.ttf”(其实就是那个仿宋简体),先把它复制到桌面上,然后上传到linux的/usr/share/zabbix/fonts/,并且改名为graphfont.ttf
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/5df37ee1df57b522410d203d99e81eb6.png)
![这里写图片描述](https://i-blog.csdnimg.cn/blog_migrate/d83f726e670e76dad545e36f7f802195.png)
添加自定义监控项目
需求:监控某台web的80端口连接数,并出图
两步:1)zabbix监控中心创建监控项目;2)针对该监控项目以图形展现
对于第一步,需要到客户端定义脚本
vim /usr/local/sbin/estab.sh //内容如下
#!/bin/bash
netstat -ant |grep ':80 ' |grep -c ESTABLISHED
chmod 755 /usr/local/sbin/estab.sh
客户端上编辑配置文件 vim /etc/zabbix/zabbix_agentd.conf//增加
UnsafeUserParameters=1 //表示使用自定义脚本
UserParameter=my.estab.count[*],/usr/local/sbin/estab.sh
//自定义监控项的key为my.estab.count,后面的[*]里面写脚本的参数,如果没有参数则可以省略,脚本为/usr/local/sbin/estab.sh
重启zabbix-agent服务 systemctl restart zabbix-agent
添加自定义监控项目
首先到服务端验证,执行命令
zabbix_get -s 192.168.133.132 -p 10050 -k ‘my.estab.count‘
然后在zabbix监控中心(浏览器)配置增加监控项目
键值写my.estab.count
添加该项目后,到“监测中” “最新数据”查看刚添加的项目是否有数据出现
有了数据就可以添加图形了
“配置”“主机” “图形” “创建图形”
十五周五次课 (2月1日)
19.7 主动模式和被动模式
19.8 添加监控主机
19.9 添加自定义模板
19.10 处理图形中的乱码
19.11 自动发现
扩展
zabbix监控交换机(思科)
http://tryrus.blog.51cto.com/10914693/1789847
zabbix远程执行命令
http://www.ywnds.com/?p=6610
zabbix分布式部署
http://sfzhang88.blog.51cto.com/4995876/1364399
zabbix监控tomcat(版本有点老,大家只需要参考步骤,不能照搬)
http://www.jianshu.com/p/e3825a885a1b
http://www.fblinux.com/?p=616
第十二步 zabbix 中文乱码的处理
一、乱码原因
查看cpu负载,中文乱码如下
![clip_image001[4] clip_image001[4]](https://i-blog.csdnimg.cn/blog_migrate/34f50ea1481fe4a3d84a610038d6a765.png)
这个问题是由于zabbix的web端没有中文字库,我们最需要把中文字库加上即可
二、解决zabbix乱码方法
2.1 上传字体文件到zabbix中
找到本地C:\Windows\Fonts\simkai.ttf(楷体),上传到服务器zabbix网站目录:/usr/share/zabbix/fonts下
2.2 修改zabbix的web端/usr/share/zabbix/include/defines.inc.php
将DejaVuSans替换为simkai,一共有两处
define('ZBX_FONT_NAME', 'DejaVuSans');
define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans'); // font file name
改为
define('ZBX_FONT_NAME', 'simkai');
define('ZBX_GRAPH_FONT_NAME', 'simkai'); // font file name
重启zabbix客户端:systemctl restart zabbix-agent
测试结果:
![clip_image002[4] clip_image002[4]](https://i-blog.csdnimg.cn/blog_migrate/5332a3481e9e8df7d0e8966ecc32aed7.png)
三、数据库编码引起的乱码
通过以上的操作,如果还是乱码,可能是初始化数据库的时候未使用utf8编码所致.
create database zabbix default charset utf8;
Zabbix 监控时间与系统时间不一配置
vi /etc/sysconfig/clock
ZONE="Africa/Nairobi"
更改年月日小时分秒(这里是肯尼亚当前时间)
date -s '2016-05-17 10:10:00'
clock -w 写入系统时间
hwclock 同步bios 时间(这个是虚拟机可以忽略不配置)
开启网络时间同步
systemctl restart ntpdate
开机启动
chkconfig --leves 2345 ntpdate on
vi /etc/php.ini
# line 878
date.timezone = "Africa/Nairobi"
vi /etc/httpd/conf.d/zabbix.conf
# line 20
php_value date.timezone Africa/Nairobi
重启服务http服务
systemctl restart httpd