阅读更多
Linux下常用的系统监控软件有Nagios、Cacti、Zabbix、Monit等
一、Zabbix简介:
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供柔软的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由zabbix server与可选组件zabbix agent两部门组成。
被监控端:主机通过安装 agent 方式采集数据,网络设备通过 SNMP 方式采集数据
Server 端:通过收集 SNMP 和 agent 发送的数据,写入数据库(MySQL,ORACLE 等),再通过 php+apache 在 web 前端展示。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(trapping方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能 等等
zabbix主要功能:
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
二、Zabbix 服务端安装:
Zabbix Server 需运行在 LAMP(Linux+Apache+Mysql+PHP)环境下(或者
LNMP)
LAMP环境搭建:
# yum -y install gcc gcc-c++ autoconf 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-devel curl-devel unixODBC-devel OpenIPMI-devel java-devel
配置 php 环境:
# vim /etc/php.ini
date.timezone = Asia/Shanghai
max_execution_time = 300
post_max_size = 32M
max_input_time=300
memory_limit = 128M
mbstring.func_overload = 2
设置httpd,mysqld开机启动:
# chkconfig httpd on
# chkconfig mysqld on
启动httpd,MySQL数据库:
# service httpd start
# service mysqld start
Zabbix下载:
下载最新的Zabbix安装包(http://www.zabbix.com)到本地并解压
# tar -zvxf zabbix-2.4.5.tar.gz
增加zabbix用户和组:
# groupadd zabbix
# useradd –g zabbix –m zabbix
数据库准备:
修改MySQL root用户密码(默认密码为空):
修改root密码命令格式:
# mysqladmin -uroot -poldpassword password 'newpassword'
初始设置:
# mysqladmin -u root -p password 'newpassword'
或
# mysqladmin -uroot -p password 'newpassword'
测试能否正常登陆数据库:
# mysql -u root -p
Enter password:
输入'newpassword'登录
或
# mysql -uroot -pnewpassword
创建Zabbix数据库:
mysql> create database zabbix character set utf-8;
mysql> use zabbix;
Mysql本地连接授权:
mysql> grant all privileges on zabbix.* to 'zabbix'@localhost identified by 'zabbix' with grant option;
Mysql远程连接授权:
mysql> grant all privileges on *.* to 'zabbix'@'%' identified by 'zabbix' with grant option;
mysql> flush privileges;
导入数据库表:
mysql> mysql -uzabbix -pzabbix zabbix < /usr/local/zabbix/zabbix-2.4.5/database/mysql/schema.sql
mysql> mysql -uzabbix -pzabbix zabbix < /usr/local/zabbix/zabbix-2.4.5/database/mysql/images.sql
mysql> mysql -uzabbix -pzabbix zabbix < /usr/local/zabbix/zabbix-2.4.5/database/mysql/data.sql
编译安装zabbix:
# cd /usr/local/zabbix/zabbix-2.4.5
# ./configure --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix --enable-java --enable-server --enable-agent --enable-proxy --with-mysql --with-net-snmp --with-libcurl --with-openipmi --with-unixodbc --with-ldap --with-ssh2 --with-jabber
# make
# make install
配置zabbix_server.conf 服务端文件:
# vim /etc/zabbix/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBSocket=/var/lib/mysql/mysql.sock
DBPort=3306
StartPollers=160 (测试环境默认值即可)
StartTrappers=20 (测试环境默认值即可)
StartPingers=100 (测试环境默认值即可)
StartDiscoverers=120 (测试环境默认值即可)
MaxHousekeeperDelete=5000 (测试环境默认值即可)
CacheSize=1024M (测试环境默认值即可)
StartDBSyncers=16 (测试环境默认值即可)
HistoryCacheSize=1024M (测试环境默认值即可)
TrendCacheSize=1024M (测试环境默认值即可)
HistoryTextCacheSize=512M (测试环境默认值即可)
AlertScriptsPath=/etc/zabbix/alertscripts (测试环境默认值即可)
LogSlowQueries=1000 (测试环境默认值即可)
添加 zabbix 到系统服务文件:
# vim /etc/services
zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent
zabbix-trapper 10051/tcp #Zabbix Trapper
zabbix-trapper 10051/udp #Zabbix Trapper
拷贝 zabbix service 启动脚本:
# cd /usr/local/zabbix/zabbix-2.4.5
# cp misc/init.d/fedora/core/zabbix_* /etc/init.d/
# chmod 755 /etc/init.d/zabbix_*
# sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/#g" /etc/init.d/zabbix_server
# sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/#g" /etc/init.d/zabbix_agentd
配置 zabbix_agentd.conf 文件:
# vim /etc/zabbix/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=127.0.0.1,172.16.11.13
ServerActive=172.16.11.13:10051
StartAgents=8 (测试环境默认值即可)
Timeout=30 (测试环境默认值即可)
EnableRemoteCommands=0 (测试环境默认值即可)
Include=/etc/zabbix/zabbix_agentd.conf.d/ (测试环境默认值即可)
UnsafeUserParameters=1 (测试环境默认值即可)
拷贝网页文件到 apache 目录:
# cp -r ./frontends/php/ /var/www/html/zabbix
# chown -R apache.apache /var/www/html/zabbix
开启防火墙端口:
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
# iptables -A INPUT -m state --state NEW -m udp -p udp --dport 10050 -j ACCEPT
# iptables -A INPUT -m state --state NEW -m udp -p udp --dport 10051 -j ACCEPT
# service iptables save
设置 zabbix 开机启动:
# chkconfig zabbix_server on
# chkconfig zabbix_agentd on
启动 zabbix server/agentd:
#service zabbix_server start
#service zabbix_agentd start
至此,zabbix 的 server 端安装完成。
下面开始通过 web 页面进行配置服务端,在浏览器输入 http://192.168.1.89/zabbix
默认用户名为 admin,密码为 zabbix
三、Zabbix 客户端安装:
增加zabbix用户和组:
# groupadd zabbix
# useradd –g zabbix –m zabbix
Zabbix下载:
下载最新的Zabbix安装包(http://www.zabbix.com)到本地并解压
# tar -zvxf zabbix-2.4.5.tar.gz
# cd zabbix-2.0.8
# ./configure --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix --enable-agent
# make
# make install
添加 zabbix 到系统服务文件:
# vim /etc/services
zabbix-agent 10050/tcp #Zabbix Agent
zabbix-agent 10050/udp #Zabbix Agent
zabbix-trapper 10051/tcp #Zabbix Trapper
zabbix-trapper 10051/udp #Zabbix Trapper
拷贝 zabbix service 启动脚本:
# cd /usr/local/zabbix/zabbix-2.4.5
# 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/#g" /etc/init.d/zabbix_agentd
配置 zabbix_agentd.conf 文件:
# vim /etc/zabbix/zabbix_agentd.conf
LogFile=/tmp/zabbix_agentd.log
Server=172.16.11.13
ServerActive=172.16.11.13:10051
StartAgents=8 (测试环境默认值即可)
Timeout=30 (测试环境默认值即可)
EnableRemoteCommands=0 (测试环境默认值即可)
Include=/etc/zabbix/zabbix_agentd.conf.d/ (测试环境默认值即可)
UnsafeUserParameters=1 (测试环境默认值即可)
开启防火墙端口:
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
# iptables -A INPUT -m state --state NEW -m udp -p udp --dport 10050 -j ACCEPT
# iptables -A INPUT -m state --state NEW -m udp -p udp --dport 10051 -j ACCEPT
# service iptables save
设置 zabbix agentd 开机启动:
# chkconfig zabbix_agentd on
启动 zabbix agentd:
#service zabbix_agentd start
至此,zabbix 的 agentd 端安装完成。
- 大小: 71.4 KB