Zabbix
Zabbix
Zabbix 是一款功能强大的分布式开源监控系统,线上用的也比较多,个人感觉是 cacti和nagios的整合,又天生自带分布式监控,大批量主机运维监控优势明显.
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix由zabbix server与可选组件zabbix agent两部门组成。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
Zabbix 通过 C/S模式采集数据,通过B/S模式在web端展示和配置。
被监控端:主机通过安装 agent 方式采集数据,网络设备通过SNMP方式采集数据
Server 端:通过收集SNMP和agent发送的数据,写入数据库(MySQL,Oracle等),
再通过 PHP+apache 在 web 前端展示
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
等等
Zabbix主要功能:
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
主机环境: rhel6.5 selinux and iptables disabled
监控主机:server1-172.25.4.1
被监控主机:server4-172.25.4.4
参考文档:www.zabbix.com
Zabbix 需要 lamp 环境:
# yum install -y httpd php php-mysql mysql-server
1. 安装 zabbix 所需软件包
fping-2.4b2-16.el6.x86_64.rpm
iksemel-1.4-2.el6.x86_64.rpm
iksemel-utils-1.4-2.el6.x86_64.rpm
php-bcmath-5.3.3-26.el6.x86_64.rpm
php-mbstring-5.3.3-26.el6.x86_64.rpm
zabbix-2.4.5-1.el6.x86_64.rpm
zabbix-agent-2.4.5-1.el6.x86_64.rpm
zabbix-server-2.4.5-1.el6.x86_64.rpm
zabbix-server-mysql-2.4.5-1.el6.x86_64.rpm
zabbix-web-2.4.5-1.el6.noarch.rpm
zabbix-web-mysql-2.4.5-1.el6.noarch.rpm
yum install *
2. 配置 mysql 数据库
/etc/init.d/mysqld start
(失败时:rm -f /var/lib/mysql/Mysql.Sock )
mysql
create database zabbix character set utf8 collate utf8_bin;
##创建数据表
grant all privileges on zabbix.* to zabbix@localhost identified by 'westos'; ##给zabbix权限 并建立用户
quit;
cd /usr/share/doc/zabbix-server-mysql-2.4.5/create/
#里面存在了三个文件data.sql images.sql schema.sql
mysql -uzabbix -pwestos zabbix < schema.sql ##该过程较慢,请耐心等待
mysql -uzabbix -pwestos zabbix < images.sql
mysql -uzabbix -pwestos zabbix < data.sql
3.配置 zabbix server
vim /etc/zabbix/zabbix_server.conf
72 DBHost=localhost #指定数据库主机
82 DBName=zabbix #指定数据库名
98 DBUser=zabbix #指定数据库用户
106 DBPassword=westos #指定数据库密码
4.配置 php
vim /etc/httpd/conf.d/zabbix.conf
13 php_value max_execution_time 300
14 php_value memory_limit 128M
15 php_value post_max_size 16M
16 php_value upload_max_filesize 2M
17 php_value max_input_time 300
18 php_value date.timezone Asia/Shanghai ##修改时区
5.启动 zabbix server、zabbix agent、httpd
/etc/init.d/httpd start
/etc/init.d/zabbix-server start
/etc/init.d/zabbix-agent start
6.登陆 zabbix web
http://172.25.4.1/zabbix按照提示完成安装并登陆:
数据库 ip 为 localhost
端口为 3306
数据库名 zabbix
用户为 zabbix
密码为 zabbix
点击 test connection,如果没有问题,则会提示 OK,否则,需要检查数据库授权是否正确
如果此处提示文件zabbix.conf.php无法创建,则是apache目录无法写入 ,/var/www/html/zabbix 的文件权限不为apche.apache输入以下命令解决
chown -R apache.apache /var/www/html/zabbix
Username:Admin
Password:zabbix
7.在server4上添加agent主机
在被监控端安装软件包:
zabbix-2.4.5-1.el6.x86_64.rpm
zabbix-agent-2.4.5-1.el6.x86_64.rpm
配置 zabbix agent
vim /etc/zabbix/zabbix_agentd.conf
85 Server=172.25.4.1
126 ServerActive=172.25.4.1
137 Hostname=server4 #主机名需要有解析
启动 zabbix agent
/etc/init.d/zabbix-agent start
8.在 zabbix server 上激活 zabbix agent 自动注册功能,Action 是告警动作,当触发器条件被满足时,就会执行指定的 action。
点击 Configuration -> Actions -> Create action 按下图所示设置:
自定义 Action 的名字。
Conditions 选项卡保持默认即可。
Operations 选项卡添加如下:
Add host:自动注册主机添加到 hosts 列表
Add to host groups:自动注册主机加入 linux servers 组(组名可以自定义)
Link to templates:自动注册主机应用模板 Template OS linux
点击 Configuration -> Hosts 可以看到新加的主机:
来看看 zabbix 是怎样添加服务监控项的,利用 zabbix 自带的监控模版,以 http 服务为例:
1. 点击 Configuration -> Templates 选择需要链接的模版
2. 选择需要链接的主机server4
也可以在Configuration -> Hosts -> server4 -> Templates 选择需要的模版
这样主机 server4 的监控项中就出现了 HTTP 服务
2. 监控 zabbix server 上的 mysql 服务
在/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf 文件中指定了 zabbix agent 如何获取 mysql
服务的各种信息,并在/var/lib/zabbix 目录中新建“.my.cnf”文件,用以指定 zabbix agent 如何登陆
数据库,默认使用的是 zabbix 用户,可以在 zabbix_server.conf 文件中找到密码。
# mkdir /var/lib/zabbix
# vim /var/lib/zabbix/.my.cnf
[mysql]
host = localhost
user = zabbix
password = westos
socket = /var/lib/mysql/mysql.sock
[mysqladmin]
host = localhost
user = zabbix
password = westos
socket = /var/lib/mysql/mysql.sock
# /etc/init.d/ zabbix-agent restart
如果是监控远程主机的 mysql 服务需要创建 zabbix 用户并授权
yum install -y mysql-server
/etc/init.d/mysqld start
Mysql
Mysql > GRANT USAGE ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY 'westos';
Mysql > FLUSH PRIVILEGES;
链接 mysql 监控模版
点击 Configuration -> Hosts -> zabbix server Graphs 可以看到两个新的监控图形
I