服务端
环境检查
[root@zabbix ~]# cat /etc/redhat-release
CentOS release 6.9 (Final)
[root@zabbix ~]# uname -r
2.6.32-696.el6.x86_64
[root@zabbix ~]# getenforce
Disabled
[root@zabbix ~]# /etc/init.d/iptables status
iptables:未运行防火墙。
[root@zabbix ~]# ll -d /tmp
drwxrwxrwt. 3 root root 4096 11月 8 12:54 /tmp
安装lAMP环境
安装apache
yum install -y httpd
安装MySQL
yum install -y mysql-server
安装PHP(5.4以上默认安装的是5.3)
rpm -ivh http://repo.webtatic.com/yum/el6/x86_64/webtatic-release-6-9.noarch.rpm
yum -y install php55w php55w-mysql php55w-common php55w-gd php55w-mbstring php55w-mcrypt php55w-devel php55w-xml php55w-bcmath
如果报错
- 说明缺少libmcrypt.so.4安装重新下载即可
wget http://mirrors.hust.edu.cn/epel//6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm
yum install libmcrypt-devel
安装zabbix
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
yum -y install zabbix-web zabbix-server-mysql zabbix-web-mysql zabbix-get
配置MySQL
复制MySQL配置文件
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
启动MySQL
/etc/init.d/mysqld start
如果启动失败99%是因为tmp目录权限问题
chmod 755 /tmp
导入zabbix数据库文件
create database zabbix character set utf8 collate utf8_bin;
grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
flush privileges;
exit
cd /usr/share/doc/zabbix-server-mysql-3.0.9/
zcat create.sql.gz|mysql -uzabbix –pzabbix zabbix
修改PHP配置文件
egrep -n "^post_max_size|^max_execution_time|^max_input_time|^date.timezone" /etc/php.ini
sed -i.ori 's#max_execution_time = 30#max_execution_time = 300#;s#max_input_time = 60#max_input_time = 300#;s#post_max_size = 8M#post_max_size = 16M#;910a date.timezone = Asia/Shanghai' /etc/php.ini
配置zabbix服务
添加zabbix密码
sed -i.ori '115a DBPassword=zabbix' /etc/zabbix/zabbix_server.conf
复制zabbix网页文件
cp -R /usr/share/zabbix/ /var/www/html/
chmod -R 755 /etc/zabbix/web
chown -R apache.apache /etc/zabbix/web
启动服务
echo "ServerName 127.0.0.1:80">>/etc/httpd/conf/httpd.conf
/etc/init.d/httpd start
/etc/init.d/zabbix-server start
访问zabbix管理界面
http://10.0.0.200/zabbix/setup.php
解决服务端监控页面乱码问题
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum -y install wqy-microhei-fonts
cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf
客户端
获取zabbix-agent
yum install http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-agent-3.0.9-1.el6.x86_64.rpm -y
修改zabbi-agent配置文件
sed -i.ori 's#Server=127.0.0.1#Server=10.0.0.200#' /etc/zabbix/zabbix_agentd.conf
这里修改的ip地址是zabbix服务端的地址
启动zabbix-agent
/etc/init.d/zabbix-agent start
在服务端测试
[root@zabbix ~]# zabbix_get -s 10.0.0.201 -p 10050 -k "system.cpu.load[all,avg1]"
排错
• 错误原因一
zabbix_get [3980]: Get value error: cannot connect to [[172.16.1.9]:10050]: [110]
Connection timed out
ip地址不存在或者防火墙和selinux没有关闭,关闭防火墙和selinux即可
• 错误原因二
Assuming that agent dropped connection because of access permissions.
zabbix-agent配置文件有问题,可能是修改后没有重新启动,重新启动即可
自动发现与自动注册
两者优缺点对比
- 自动发现
优点:方便找到所有客户端,不会遗漏
缺点:一旦agent过多,server压力大(每隔一段时间server都会扫描局域网所有主机) - 自动注册
优点: 对服务端压力最低
缺点:配置过程复杂
自动发现配置
- 登录zabbix网页
IP地址范围是局域网中需要监控主机的IP地址范围
接下来需要等一段时间后,点击检测中的自动发现
自动添加主机
当服务端扫描到局域网中的主机时,需要将主机加入到某个群组中以便监控
自动注册
修改客户端配置文件
[root@zabbixclient ~]# cat /etc/zabbix/zabbix_agentd.conf
Server=172.16.1.61 ===》 被动模式参数
ServerActive=127.0.0.1 ===》 主动模式参数
Hostname=Zabbix server ===》 自动注册需要告诉服务端自己的主机名
HostMetadataItem=system.uname ===》 作为server区分客户端的标志
sed -i.ori 's#ServerActive=127.0.0.1#ServerActive=10.0.0.200#g;s#Hostname=Zabbix server#Hostname=zabbixclient#;176a HostMetadataItem=system.uname' /etc/zabbix/zabbix_agentd.conf```
- 重启zabbix-agent
/etc/init.d/zabbix-agent restart
网页配置
-
添加自动注册配置
-
添加动作名称