Linux&&服务器监控zabbix

  • 了解
  • 部署
  • centOS部署
  • 预安装软件包
  • 配置PHP参数
  • 编译安装zabbix
  • 浏览器配置zabbix的web控制台
  • 被监控端部署
  • web控制台添加监控设备
  • Linux
  • windows
  • ubuntu部署
  • 预安装软件包
  • 被监控主机zabbix_agentd部署
  • 软件源部署
  • 源码部署
  • web控制台配置指定端口(以80为例)监测
  • 添加邮件报警


了解

部署

centOS部署

预安装软件包

yum  -y  install  httpd  php  mysql  mysql-server  php-mysql  httpd-manual  mod_ssl  mod_perl  mod_auth_mysql  php-gd  php-xml  php-mbstring  php-ldap  php-pear  php-xmlrpc  php-bcmath  mysql-connector-odbc  mysql-devel  libdbi-dbd-mysql  net-snmp  net-snmp-devel  curl-devel
#设置软件开机自启
service  httpd  start
service  mysqld  start
chkconfig  httpd  on
chkconfig  mysqld  on

zabbix监控服务使用的端口号为80,10050,10051

配置PHP参数

zabbix的运行需要特定的php参数设置

sed  -i  "s@;date.timezone=@date.timezone=Asia/Shanghai@g"  /etc/php.ini
sed  -i  "s@max_execution_time=30@max_execution_time=300@g"  /etc/php.ini
sed  -i  "s@post_max_size=8M@post_max_size=32M@g"  /etc/php.ini
sed  -i  "s@max_input_time=60@max_input_time=300@g"  /etc/php.ini
sed  -i  "s@memory_limit=128@memory_limit=128@g"  /etc/php.ini
sed  -i  "s@;mbstring.func_overload=0@mbstring.func_overload=2@g"  /etc/php.ini

修改httpd的FQDN错误,重启httpd服务:

echo  "ServerName  localhost:80"  >>  /etc/httpd/conf/httpd.conf
/etc/init.d/httpd  restart

编译安装zabbix

#创建zabbix程序用户
groupadd  -g  201  zabbix
useradd  -g  zabbix  -u  201  -s  /sbin/nologin  zabbix
#编译、安装
cd  /usr/src
tar  xf  zabbix-2.2.2.tar.gz
cd  zabbix-2.2.2
./configure  --prefix=/usr/local/zabbix  --enable-server  --enable-proxy  --enable-agent  --with-mysql=/usr/bin/mysql_config  --with-net-snmp  --with-libcurl
make  &&  make  install
#创建zabbix数据库和表
mysql  -e  "create database zabbix default charset utf8;"
mysql  -e  "grant all on zabbix.* to zabbix@localhost identified by 'zabbix';"
mysql  -uzabbix  -pzabbix  zabbix  <  /usr/src/zabbix-2.2.2/database/schema.sql
mysql  -uzabbix  -pzabbix  zabbix  <  /usr/src/zabbix-2.2.2/database/images.sql
mysql  -uzabbix  -pzabbix  zabbix  <  /usr/src/zabbix-2.2.2/database/data.sql
#设置软连接和启动文件信息
mkdir  /var/log/zabbix
chown  zabbix.zabbix  /var/log/zabbix
ln  -s  /usr/local/zabbix/etc/  /etc/zabbix
ln  -s  /usr/local/zabbix/bin/*  /usr/bin/
ln  -s  /usr/local/zabbix/sbin/*  /usr/sbin/
cp  /usr/src/zabbix-2.2.2/misc/init.d/fedora/core/zabbix_*  /etc/init.d
chmod  755  /etc/init.d/zabbix_*
#修改/etc/init.d目录下的zabbix_server和zabbix_agentd启动文件
sed  -i  "s@BASEDIR=/usr/local@BASEDIR=/usr/local/zabbix@g"  /etc/init.d/zabbix_server
sed  -i  "s@BASEDIR=/usr/local@BASEDIR=/usr/local/zabbix@g"  /etc/init.d/zabbix_agentd
#修改/etc/zabbix/zabbix_server.conf
sed  -i  "s@DBUser=root@DBUser=zabbix@g"  /etc/zabbix/zabbix_server.conf
sed  -i  "s@#DBPassword=@DBPassword=zabbix@g"  /etc/zabbix/zabbix_server.conf
#修改/etc/zabbix/zabbix_agentd.conf.指定监控服务器ip地址
sed  -i  "s@Server=127.0.0.1@Server=127.0.0.1,192.168.3.28@g"  /etc/zabbix/zabbix_agentd.conf
sed  -i  "s@ServerActive=127.0.0.1@ServerActive=192.168.3.28:10051@g"  /etc/zabbix/zabbix_agentd.conf
sed  -i  "s@/tmp/zabbix_agentd.log@/var/log/zabbix/zabbix_agentd.log@g"  /etc/zabbix/zabbix_agentd.conf
sed  -i  "s@^#UnsafeUserParameters=0@UnsafeUserParameters=1\n@g"  /etc/zabbix/zabbix_agentd.conf
#复制zabbix站点文件到/var/www/html目录下
cp  -r  /usr/src/zabbix-2.2.2/frontends/php/  /var/www/html/zabbix
chown  -R  apache.apache  /var/www/html/zabbix/
#设置开机自启
chkconfig  zabbix_server  on
chkconfig  zabbix_agentd  on
service  zabbix_server  start
service  zabbix_agentd  start

浏览器配置zabbix的web控制台

访问:http://192.168.3.28/zabbix/setup.php

Zabbix监控Linux系统 zabbix监控linux服务器_php


zabbix环境检测:

Zabbix监控Linux系统 zabbix监控linux服务器_sed_02


连接数据库配置:

Zabbix监控Linux系统 zabbix监控linux服务器_sed_03


Zabbix监控Linux系统 zabbix监控linux服务器_php_04


确认信息:

Zabbix监控Linux系统 zabbix监控linux服务器_sed_05


Zabbix监控Linux系统 zabbix监控linux服务器_mysql_06


登录控制台:

Zabbix监控Linux系统 zabbix监控linux服务器_sed_07


修复中文乱码:

Zabbix监控Linux系统 zabbix监控linux服务器_mysql_08

被监控端部署

#预安装软件包
yum  -y  install  wget  vim  tree  gcc  gcc-c++
#创建zabbix程序用户
groupadd  -g  201  zabbix
useradd  -g  zabbix  -u  201  -s  /sbin/nologin  zabbix
#编译安装zabbix
cd  /usr/src
tar  xf  zabbix-2.2.2.tar.gz
cd  zabbix-2.2.2
./configure  --prefix=/usr/local/zabbix  --enable-agent
make  &&  make  install
#创建zabbix日志目录
mkdir  -p  /var/log/zabbix
chown  zabbix.zabbix  /var/log/zabbix
#复制zabbix_agentd启动文件到/etc/init.d目录下
cp  misc/init.d/fedora/core/zabbix_agentd  /etc/init.d/
chmod  755  /etc/init.d/zabbix_agentd
#修改启动文件和配置软连接
sed  -i  "s@BASEDIR=/usr/local@BASEDIR=/usr/local/zabbix@g"  /etc/init.d/zabbix_agentd
ln  -s  /usr/local/zabbix/etc/  /etc/zabbix
ln  -s  /usr/local/zabbix/bin/*  /usr/bin/
ln  -s  /usr/local/zabbix/sbin/*  /usr/sbin/
sed  -i  "s@Server=127.0.0.1@Server=192.168.3.28@g"  /etc/zabbix/zabbix_agentd.conf
sed  -i  "s@ServerActive=127.0..1@ServerActive=192.168.3.28:10051@g"  /etc/zabbix/zabbix_agentd.conf
sed  -i  "s@tmp/zabbix_agentd.log@/var/log/zabbix/zabbix_agentd.log@g"  /etc/zabbix/zabbix_agentd.conf
sed  -i  "s@^#UnsafeUserParameters=0@UnsafeUserParameters=1\n@g"  /etc/zabbix/zabbix_agentd.conf
#启动zabbix客户端
service  zabbix_agentd  start
chkconfig  zabbix_agentd  on
web控制台添加监控设备
Linux

创建主机:

Zabbix监控Linux系统 zabbix监控linux服务器_Zabbix监控Linux系统_09


Zabbix监控Linux系统 zabbix监控linux服务器_Zabbix监控Linux系统_10


Zabbix监控Linux系统 zabbix监控linux服务器_Zabbix监控Linux系统_11


为主机添加模板:

Zabbix监控Linux系统 zabbix监控linux服务器_php_12


Zabbix监控Linux系统 zabbix监控linux服务器_sed_13

windows

下载解压zabbix_agents_2.4.0.win.zip

Zabbix监控Linux系统 zabbix监控linux服务器_sed_14


编辑配置文件:

Zabbix监控Linux系统 zabbix监控linux服务器_mysql_15


Zabbix监控Linux系统 zabbix监控linux服务器_php_16


Zabbix监控Linux系统 zabbix监控linux服务器_php_17


Zabbix监控Linux系统 zabbix监控linux服务器_php_18


Zabbix监控Linux系统 zabbix监控linux服务器_php_19


安装agent:

Zabbix监控Linux系统 zabbix监控linux服务器_php_20


Zabbix监控Linux系统 zabbix监控linux服务器_Zabbix监控Linux系统_21


Zabbix监控Linux系统 zabbix监控linux服务器_php_22


启动agent:

Zabbix监控Linux系统 zabbix监控linux服务器_sed_23


在web控制台添加windows主机:

Zabbix监控Linux系统 zabbix监控linux服务器_mysql_24


Zabbix监控Linux系统 zabbix监控linux服务器_mysql_25


Zabbix监控Linux系统 zabbix监控linux服务器_php_26


添加windows模板:

Zabbix监控Linux系统 zabbix监控linux服务器_mysql_27

ubuntu部署

预安装软件包

#更新软件源
sudo  apt-get  update
sudo  apt-get install  apache2  mysql-server  mysql-client   libapache2-mod-php5  php5-gd  php5-mysql  php5-common  zabbix-server-mysql  zabbix-frontend-php
#配置zabbix服务
sudo vim /etc/zabbix/zabbix_server.conf
    DBName=zabbix
    DBUser=zabbizx				
    DBPassword=zabbix
#创建数据库并导入表
mysql -u root -p						
    > create database zabbix default charset utf8;  //防止mysql乱码
    > create user 'zabbix'@'localhost' identified by 'zabbix';
    > grant all privileges on zabbix.* to 'zabbix'@'localhost';
    > flush privileges;
#找到表压缩包
cd /usr/share/zabbix-server-mysql/
ls   #有data.sql.gz,images.sql.gz,schema.sql.gz
#解压表
sudo gunzip *.gz
ls   #有data.sql,images.sql,schema.sql
#导入表
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < images.sql
mysql -uzabbix -pzabbix zabbix < data.sql
#配置PHP服务
sudo vim /etc/php5/apache2/php.ini
    ; date.timezone=          修改为   date.timezone =Asia/Shanghai
    max_execution_time = 30  修改为   max_execution_time = 300
    max_input_time = 60      修改为   max_input_time = 300
    post_max_size = 8M      修改为  post_max_size = 32M
#配置网页
sudo cp /usr/share/doc/zabbix-frontend-php/examples/zabbix.conf.php.example  /etc/zabbix/zabbix.conf.php
sudo vim /etc/zabbix/zabbix.conf.php
    $DB["PASSWORD"]              ='zabbix_password';   
    #修改为  
    $DB["PASSWORD"]                       = 'zabbix';
sudo cp /usr/share/doc/zabbix-frontend-php/examples/apache.conf  /etc/apache2/conf-available/zabbix.conf
sudo a2enconf zabbix.conf
sudo a2enmod alias
sudo vim /etc/default/zabbix-server
    #START=no   修改为   
    START=yes
#启动zabbix服务
sudo service zabbix-server start
#安装zabbix-agent,用于监控监控服务器本身
sudo apt-get install zabbix-agent
sudo vim /etc/zabbix/zabbix_agentd.conf
    #Server=127.0.0.1    修改为   
    Server=111.111.111.111
    #ServerActive=127.0.0.1   修改为   
    ServerActive=111.111.111.111
    Hostname=Zabbix server          #记住
#启动zabbix-agent服务
service zabbix-agent start
#修改Apache端口
vim /etc/apache2/ports.conf
    #Listen 80   修改为   
    Listen 8080
    
#启动Apache服务
service apache2 restart

浏览器访问: http://111.111.111.111:8080/zabbix/setup.php

用户:admin 口令:zabbix

Zabbix监控Linux系统 zabbix监控linux服务器_sed_28


Zabbix监控Linux系统 zabbix监控linux服务器_mysql_29


Zabbix监控Linux系统 zabbix监控linux服务器_Zabbix监控Linux系统_30


Zabbix监控Linux系统 zabbix监控linux服务器_mysql_31


按上图要求下载上传到指定路径即可。最后重新记载Apache服务即可。

其他步骤操作与centOS系统相同

被监控主机zabbix_agentd部署

软件源部署
sudo apt-get install zabbix-agent
sudo vim /etc/zabbix/zabbix_agentd.conf
    #Server=127.0.0.1        修改为    
    Server=111.111.111.111
    #ServerActive=127.0.0.1   修改为   
    ServerActive=111.111.111.111
    Hostname=Zabbix server  修改为   TcpCN
/etc/init.d/zabbix-agent restart

若配置文件中不存在ServerActive=这个命令行,那么只修改Server=和Hostname=命令行即可,擅自添加会报错。

源码部署
apt-get remove --purge zabbix-agent
useradd -r -s /sbin/nologin zabbix
apt-get install make
apt-get install lrzsz
cd /tmp
rz        //上传zabbix-2.2.2.tar.gz
tar zxf zabbix-2.2.2.tar.gz
cd zabbix-2.2.2/
./configure --prefix=/usr/local/zabbix_agent --enable-agent 
make  &&  make install
vim /usr/local/zabbix_agent/etc/zabbix_agentd.conf
    #Server=127.0.0.1        修改为   
    Server=111.111.111.111
    #ServerActive=127.0.0.1   修改为   
    ServerActive=111.111.111.111
    Hostname=Zabbix Mongodb  
/usr/local/zabbix_agent/sbin/zabbix_agentd restart
netstat -anp | grep zabbix

web控制台配置指定端口(以80为例)监测

添加模板:

Configuration>Templates>Create template>创建新模板:80 port>Save

Zabbix监控Linux系统 zabbix监控linux服务器_mysql_32


模板添加成功:

Zabbix监控Linux系统 zabbix监控linux服务器_mysql_33


添加application:

在80 port行,打开Applications>Create application>输入80 port>Save

Zabbix监控Linux系统 zabbix监控linux服务器_php_34


创建item:

在80 port行,打开Items>Create item>xx>Save

Zabbix监控Linux系统 zabbix监控linux服务器_sed_35

net.tcp.listen[port] : 检测端口是否开启,支持zabbix agent 1.8.4及更新的版本。
net.tcp.port[,port] : 是否可以连接到指定的TCP端口IP,IP 地址(默认是 127.0.0.1),不填代表使用默认IP地址。

Zabbix监控Linux系统 zabbix监控linux服务器_sed_36


添加触发器:

在80 port行,打开Triggers>Create trigger>xx>save add的选择

Zabbix监控Linux系统 zabbix监控linux服务器_mysql_37


Zabbix监控Linux系统 zabbix监控linux服务器_mysql_38


创建表:

在80 port行,打开Graphs>Create graph>xx>Save

Zabbix监控Linux系统 zabbix监控linux服务器_php_39


为目标被监控主机添加此模板即可:

Zabbix监控Linux系统 zabbix监控linux服务器_mysql_40


Zabbix监控Linux系统 zabbix监控linux服务器_Zabbix监控Linux系统_41


检验:

检验:Monitoring>Graphs,选择相应服务器的相应图表查看

Zabbix监控Linux系统 zabbix监控linux服务器_mysql_42