环境
状态:
模拟
系统:
centos7.3
zabbix版本:
3.0.4
身份:
zabbix-server :192.168.92.128
zabbix-agent : 192.168.92.131
一、环境准备
【1】安装软件
(仅zabbix-server操作)
<1>配置LAMP环境(如已有网络环境,无需全部安装,可根据情况挑选):
yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5-server krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers net-snmp-devel net-snmp snmp libssh2-devel
yum install bcmath –skip-broken
yum -y install httpd httpd-devel
yum -y install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml
<2>安装数据库(mysql可换为mariadb;可选择编译安装):
yum -y install mysql mysql-server mysql-devel mariadb mariadb-server
【2】防火墙
zabbix-server与agent网络要联通
防火墙(可配置规则):
systemctl stop firewalld
systemctl disable firewalld
更改selinux:
vim /etc/selinux/config
SELINUX=disabled
关闭selinux(为了避免错误):
setenforce 0
【3】同步时间
zabbix-server与agent间要时间同步
安装并同步时间(可自建内网ntp时间服务器):
yum -y install ntp
ntpdate cn.pool.ntp.org
【4】添加解析(为了方便操作,可选)
echo “192.168.92.128 zabbix-server ” >>/etc/hosts
echo “192.168.92.131 zabbix-agent” >> /etc/hosts
scp /etc/hosts zabbix-agent:/etc/hosts
【5】推公钥(为了方便操作,可选)
zabbix-server向zabbix-agent端推公钥
一般选择第二种方法.
<1>互信操作:
ssh-keygen -f /root/.ssh/id_rsa -N " " 创建密钥
mv /root/.ssh/{id_rsa.pub,authorized_keys} 改变密钥文件名,authorized_keys为固定格式,可被系统识别
scp -r /root/.ssh zabbix-agent:/root/ 推送密钥到agent端
<2>推公钥:
ssh-keygen 创建密钥
ssh-copy-id root@zabbix-agent 推送密钥到agent端
二、mysql配置
【1】启动并设置mysql密码
systemctl restart mariadb
systemctl enable mariadb
mysqladmin -uroot password ‘123456’
【2】为zabbix-server创库并授权
mysql -uroot -p123456 登陆数据库
create database zabbix character set utf8; 创建数据库,设定编码
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; 创建授权用户
flush privileges; 刷新授权表,虽然不需要,但可避免一些问题
use zabbix; 测试,数据库是否创建
启动httpd和mysql,并设置开机启动
systemctl restart mariadb.service
systemctl restart httpd.service
systemctl enable mariadb.service
systemctl enable httpd.service
三、zabbix安装
可用yum安装,本文使用编译安装
可从官网下载安装包或yum源:
https://www.zabbix.com/download?zabbix=3.4&os_distribution=centos&os_version=6&db=MySQL
【1】添加用户及组
注意:为了安全禁止zabbix用户登陆服务器
zabbix-server与zabbix-agent使用编译安装时都需要先创建zabbix用户
groupadd zabbix
useradd -g zabbix -s /sbin/nologin -M zabbix
【2】解压安装包
tar -xf zabbix-3.0.4.tar.gz
【3】导入数据库表,注意顺序
仅zabbix-server及proxy执行数据库操作
<1>cd zabbix-3.0.4/database/mysql/
<2>导入:
mysql -uroot –p123456 zabbix < schema.sql
mysql -uroot - p123456 zabbix < images.sql
mysql -uroot - p123456 zabbix < data.sql
或
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < images.sql
mysql -uzabbix -pzabbix zabbix < data.sql
<3>验证是否导入:
use zabbix;
select count(*) tables, table_schema from information_schema.tables where table_schema=’zabbix’ group by table_schema;
【4】编译安装zabbix
要使用什么,就使用什么参数
因为zabbix-server服务器也要监控自己,所以要加agent参数
(–prefix=/usr/local/zabbix –enable-server–enable-agent –with-mysql 为最重要参数)
如报错,说明缺少软件;根据报错,安装即可
<1>zabbix-server操作
./configure –prefix=/usr/local/zabbix –enable-server–enable-agent –with-mysql –with-net-snmp –with-libcurl –with-libxml2 –with-ssh2
或
./configure –prefix=/usr/local/zabbix –with-mysql –with-net-snmp –with-libcurl –enable-server –enable-agent
make install
<2>zabbix-agent操作
./configure –prefix=/usr/local/zabbix –enable-agent
make install
参数说明:
–prefix: 指定安装位置
–enable: 指定安装的zabbix的软件
–with: 指定依赖
【5】zabbix-server配置文件配置
配置文件位置(由于安装的目录或方法的不同,配置文件位置不同):
/usr/local/zabbix/etc/
如有报错,请检查配置文件
文件中的配置,要按照需求来
必要配置:
DBHost
DBName
DBUser
DBPassword
egrep -v "^$|^#" zabbix_server.conf
LogFile=/tmp/zabbix_server.log log日志的位置,一般默认即可
DBHost=localhost zabbix_server授权时使用ip或名称,如授权时使用localhost
DBName=zabbix zabbix_server创建并授权的数据库的名称
DBUser=zabbix 授权的数据库的用户
DBPassword=zabbix 授权的数据库的密码
DBSocket=/tmp/mysql.sock MySQL的sock的位置,如数据库是编译安装,一般默认即可,如yum安装,请确认位置;不使用注释即可
DBPort=3306 使用的mysql数据库的端口;无特殊要求,注释即可,默认3306
StartPollers=30 zabbix-server的进程数,设置多少取决于服务器的性能和监控的数量,主要看内存大小
StartDiscoverers=5 zabbix提示进程繁忙时可修改此参数,最大可达250,但一般1-5左右,值越大越消耗cpu性能
CacheSize=8G zabbix-server可用的缓存,用于存储host,item,trigger数据
Timeout=4 zabbix-server的检测超时时间,单位为秒
AlertScriptsPath=/root/zabbix-3.0.4/alertscripts zabbix-server使用自定义脚本自定义告警脚本的路径,取决于编译时候的datadir参数
FpingLocation=/usr/local/sbin/fping 安装的fping路径
LogSlowQueries=3000 多慢的数据库查询将会被记录,单位为毫秒,0表示不记录慢查询。只有在DebugLevel=3时,这个配置才有效
【6】添加前端文件
仅zabbix-server执行此操作
(注意权限问题)
mkdir /var/www/html/zabbix
cp -rf zabbix-3.0.4/frontends/php/* /var/www/html/zabbix
/zabbix-3.0.4/frontends/php/下为zabbix-server的前端文件
【7】修改php相关参数
仅zabbix-server执行此操作
vim /etc/php.ini
max_execution_time = 300 一般默认即可
max_input_time = 300 一般默认即可
memory_limit = 128M 一般默认即可
post_max_size = 32M 一般默认即可
date.timezone = Asia/Shanghai 更改为你使用的时区亚洲上海
【8】zabbix-agent配置文件配置
关于agent的配置,主要分为两种情况:
zabbix-server/proxy主机的agent
被监控主机的agent
原则:
zabbix-server/proxy主机的agent的配置文件的IP及端口指向自己
zabbix-agent端的配置文件指向zabbix-server或zabbix-proxy的IP及10051端口
必要配置:
Server
ServerActive
Hostname
egrep -v "^$|^#" /etc/zabbix/zabbix_agentd.conf
PidFile=/tmp/zabbix_agentd.pid zabbix-agent的pid文件的位置,默认即可
LogFile=/var/log/zabbix/zabbix_agentd.log zabbix-agent的log日志的位置,一般默认即可
EnableRemoteCommands=0 关闭远程命令(1:开启;0:关闭),开启后可设置触发条件,触发远程命令动作,重启服务
Server=192.168.92.128 zabbix-agent指向的zabbix-server/proxy的IP地址,本文指向的是zabbix-proxy
StartAgents=8 zabbix-agent的进程数
ServerActive=192.168.92.128:10051 zabbix-agent指向的zabbix-server/proxy的IP地址及端口,本文指向的是zabbix-proxy的
Hostname=zabbix agent01 该zabbix-agent端的名字,要与zabbix-server的web界面,配置的主机名称相同
Timeout=30 zabbix-agent的检测超时时间,单位秒
Include=/etc/zabbix/zabbix_agentd.d/ 启动自定义的key 自定义脚本存放位置
UnsafeUserParameters=1 启动自定义的key,开启后可使用自定义的脚本(如不使用请使用默认)
如果是zabbix-server/proxy主机的agent配置,则
Server=127.0.0.1
ServerActive=127.0.0.1:10051
【9】服务启动的配置
zabbix-server/proxy及agent 皆要执行此操作
如未成功启动或启动后无进程,请检查下列配置文件及mysql授权的密码
/etc/init.d/zabbix_server/agent
/usr/local/zabbix/etc/zabbix_server/agent.conf
<1>复制启动文件到系统路径:
cp -rf /root/zabbix-3.0.4/misc/init.d/fedora/core/zabbix* /etc/init.d/
vim /etc/init.d/zabbix_server 或 proxy以及agent
将BASEDIR=/usr/local/替换为BASEDIR=/usr/local/zabbix (编译后存放的位置)
<2>添加执行权限:
chmod +x /etc/init.d/zabbix_server
<3>启动zabbix-server及web服务,并开机自启:
/etc/init.d/zabbix_server start
chkconfig zabbix_server on
systemctl restart httpd
systemctl enable httpd
检查端口:
netstat -lnput |grep :1005
netstat -lnput |grep :80
四、web界面的配置
【1】初始配置
<1>访问:http://zabbix-server的IP/zabbix/setup.php 进行安装 ,点击Next step.
<2>根据网页提供的提示,更改zabbix-server的/etc/php.ini里的参数
<3>修改完后,重启httpd并刷新页面,点击Next step .(如页面未成功改变,点击Back后退再重新进入)
<4>一般输入zabbix数据库授权时的密码即可,点击Next step(如按教程,这一步不会出错)
<5>输入Name后,点击Next step。(任意名称都可,但一般不填)
<6>确认信息无误后,点击Next step
<7>根据提示,更改zabbix的web的配置文件
进入/var/www/html/zabbix/conf下,发现无zabbix.conf.php,复制zabbix.conf.php.example为zabbix.conf.php,进行更改
在PASSWORD处,输入数据库授权的密码
<8>修改完后,重启httpd并刷新页面,点击Login .(如页面未成功改变,点击Back后退再重新进入)
<9>输入默认的用户名Admin,及密码zabbix,点击Sign in ,进入zabbix正式的页面(初始为英文版面)
【2】更改zabbix的web界面的语言
<1>点击右上角的人像,进行设置
<2>点击Language的标记,选择语言
<3>选择Chinese(zh_CZ),后点击Update 更新
<4>如图,已被更换为中文界面。
至于用户及权限设置,由于是中文一目了然,这里就不总结了。
【3】添加主机
即添加被监控的服务器
1.添加zabbix-server的本机监控
<1>进入 配置>>主机
zabbix server的默认已存在,那么进入,更改配置即可
<2>点击Zabbix server,进去配置,一般默认即可
Zabbix server即为zabbix server的默认主机名,要与zabbix-server主机中的zabbix-agent的配置文件中的Hostname相同(包括大小写及空格)
<3>确认信息后,点击更新
IP地址127.0.0.1代表zabbix-server本地,端口是10050,无代理程序
与zabbix-server主机中的zabbix-agent的配置文件中相同
<4>出现主机已更新,即可成功
若可用性全为灰色,则检查zabbix-server的主机的zabbix-agent是否开启.
如未开启,则开启;
已开启则,重启zabbix-agent、httpd
2.添加zabbix-agent的主机(监控除zabbix-server的其他主机)
<1>点击创建主机
<2>主机名称要与被监控主机的Zabbix-agent的配置文件中的Hostname相同
添加群组,按需求添加,可自建
agent代理程序的接口的ip为该被监控主机的IP,端口为10050
勾选已启用后,点击添加
成功添加主机
【4】添加模板
由于新添加主机没有模板及监控项,所以要进行添加监控项。
由于zabbix默认提供模板,可直接套用已有模板,按需求添加
也可自建模板
<1>点击配置>>主机 >>Zabbix agent01 (新添加主机) >> 模版
<2>点击选择,从弹出的选项中勾选,按需求选择
<3>点击添加
<4>成功,即如下图
由于zabbix agent01的被监控的主机未安装并启用ftp,所以此为正常现象