在suselinux上怎么部署zabbix
Linux下常用的系统监控软件有Nagios、Cacti、Zabbix、Monit等,这些开源的软件,可以帮助我们更好的管理机器,在第一时间内发现,并警告系统维护人员。
今天开始研究下Zabbix,使用Zabbix的目的,是为了能够更好的监控mysql数据库服务器,并且能够生成图形报表,虽然Nagios也能够生成图形报表,但没有Zabbix这么强大。
首先,我们先来介绍下Zabblx:
一Zabbix简介
zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。
zabbix由zabbix server与可选组件zabbix agent两部门组成。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
等等
Zabbix主要功能:
- CPU负荷
- 内存使用
- 磁盘使用
- 网络状况
- 端口监视
- 日志监视
官方也提供了安装资料:http://wwwzabbixcom/wiki/howto/monitor
二Zabbix安装
21 zabbix WEB环境搭建
zabbix的安装需要LAMP或者LNMP环境。
需要其它的软件包
yum install mysql-dev gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xm
22 zabbix 数据库设置
zabbix数据库可以和zabbix服务器分离,采用用专门的mysql服务器存储数据,此时要给zabbix数据库受相应的权限。
grant all privileges on zabbix to zabbix_user@'ip' identified by '123456';
注:ip为zabbix服务器的IP地址。
关于数据库的安装,可以查看Mysql安装,我习惯使用二进制包。
启动数据库
/usr/local/mysql/bin/mysqld_safe --user=mysql &
登录数据库,创建帐号和设置权限:
mysql> use mysql;
mysql>create database zabbix character set utf8;
mysql>grant all privileges on zabbix to zabbix_user@'19216810197' identified by '123456';
23安装zabbix服务
增加zabbix用户和组
#groupadd zabbix
#useradd -g zabbix -m zabbix
官网下载解压软件包。
下载地址:
http://wwwzabbixcom/downloadphp
#wget http://fossiesorg/unix/misc/zabbix-203targz
# tar -zxvf zabbix-203targz
#cd zabbix-2203
导入数据库表
#cd zabbix-203/database/mysql
#mysql -uroot -pmysql zabbix < mysqlsql
#mysql -uroot -pmysql zabbix < imagessql
#mysql -uroot -pmysql zabbix < schemasql
编译安装zabbix
/configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-agent --enable-proxy
编译报错checking for main in -lmysqlclient no
yum 安装mysql-devel即可
#make
#make install
添加服务端口
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
添加配置文件
# mkdir -p /etc/zabbix
# cp -r zabbix-2203/conf/ /etc/zabbix/
# chown -R zabbix:zabbix /etc/zabbix
修改server配置文件,添加zabbix数据库密码
vim /etc/zabbix/zabbix_serverconf
LogFile=/tmp/zabbix_serverlog
PidFile=/tmp/zabbix_serverpid
DBName=zabbix
DBUser=zabbix_user
DBPassword=123456 #指定zabbix数据库密码
ListenIP=19216810197 #服务器IP地址
修改Agentd配置文件,更改HOSTNAME为本机的hostname
vim /etc/zabbix/zabbix_agentdconf
PidFile=/tmp/zabbix_agentdpid #进程PID
LogFile=/tmp/zabbix_agentdlog #日志保存位置
EnableRemoteCommands=1 #允许执行远程命令
Server=19216810197 #agent端的ip
Hostname=client1 #必须与zabbix创建的host name相同
如图设置hostname
添加web前段php文件
# cd zabbix-2203/frontends/
# cp -rf php /home/httpd/zabbix #虚拟主机目录
# chown -R zabbix:zabbix zabbix
web前端安装配置
修改PHP相关参数
vim phpini
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 32M
datetimezone = Asia/Shanghai
mbstringfunc_overload=2
PHP还必须支持一下模块,在php源码包直接编译安装。详细模块需要在安装是会提示。
bcmathso、gettextso
在客户端浏览器上面访问zabbix,开始WEB的前端配置,http://ZabbixIP/zabbix,按提示点击下一步
Step1:下一步。
Step2:如果全部OK的话才能进行下一步的安装,如果有错误请返回到server端检查相关的软件包是否安装。
Step3:需要输入mysql数据库帐号密码,如果数据库不在zabbix服务器上面,在Host里面添加数据库服务器的地址,并且要用grant命令给数据库授权。
Step4:输入服务器端 host name or host IP addres;
最后会自动写入配置文件:zabbixconfphp,配置完成后出现登陆界面,默认的用户名为:admin,密码为:zabbix。
三启动zabbix服务
在zabbix安装目录下面可以直接启动
#/usr/local/zabbix/sbin/zabbix_server start
tcp 0 0 0000:10050 0000: LISTEN 7140/zabbix_agentd
四设置开启自动启动
vim /etc/rcd/rclocal 最后添加下面两行
/usr/local/zabbix/sbin/zabbix_server start
/usr/local/zabbix/sbin/zabbix_agentd start
至此,zabbix server端的安装完毕,我们可以通过浏览器来访问。如图:
接下来会介绍关于客户端监控的使用,以及监控模版的新建,自定义监控服务等。
zabbix 22版本以后(Vmware vCenter or vSphere 最低版本 41),开始支持直接监控vmware了, 可以自动搜索到所有的ESXI和VM,并自动把他们列入监控对象。我觉得非常不错,下面说说我的监控步骤。
理论分析
1模板在zabbix中已经预先配置好了,对于vcenter的HOST,指定为Template Virt VMware。编译安装阶段要想支持vmware监控需要在/configure添加--with-libxml2和--with-libcurl其中前一个是在22中添加的;
2安装完成后,在zabbix_serverconf配置文件需要指定‘StartVMwareCollectors’参数,否则启动zabbix_server是不会启动vmware相关的进程(配置文件有解释我就不做详细叙述);
vi /data/soft/zabbix-220/etc/zabbix_serverconf
StartVMwareCollectors=5
VMwareFrequency=60
VMwareCacheSize=8M
3在HOST界面中添加vmwareesxi设备后,需要指定{$URL}、{$USERNAME}和{$PASSWORD}三个变量,因为在调试系统自带的"TemplateVirtVMware"模板时,模板中的KEY调用的是这三个变量;原则上添加对vcenter的host监控时,不需要zabbix_agent,在web页面输入必要的ip信息,关联好模板,填写好三个宏(web页面上叫巨集)即可。
4当第三步成功的时候不仅能监控esxi物理主机,还能自动发现该esxi上运行的主机并自动添加到监控系统中并加载"Template Virt VMware Guest"模板(模板在下面提供下载)。
操作步骤
1、添加esxi主机监控
2、设置变量
3、关联模板
配置好HOST后,经过VMware Frequency时间后,zabbix 监控到vmware vcenter机器上管理了哪些ESXI服务器,并将其加入到HOST中并同Template Virt VMware Hypervisor模板关联,再进一步监控到哪些vm和volume,也一并将其加入到HOST中并同Template Virt VMware Guest模板关联。
4、查看host会多出很多监控项
5、自动发现的监控项目
在HOST自动发现并添加后,item的更新是根据每一个项目(item)设置的时间间隔来更新的,但是与VMwareFrequency有关,因为check_simple大多都是从内存中维护的vmware集群结构中获取的值。
结语:
使用Zabbix的目的,是为了能够更好的监控MySQL数据库服务器,并且能够生成图形报表,虽然Nagios也能够生成图形报表,但没有Zabbix这么强大。以上是通过设置zabbix来监控VMware主机的原理以及步骤解析,希望能帮到有需要的朋友。
网上很多解决办法是:
yum install -y php-mysqlx86_64
但是我的服务器会报(每台机子配置不同会有差异):
php56w-common conflicts with php-common-533-50el6_10x86_64
这是因为之前 yum php56w_x86_64 安装的。所以后面这样装就会报错了。
必须用:
yum install -y php56w-mysql
安装成功后重启zabbix和apche服务即可。
Zabbix的简单安装配置说明
1、在已有的LAMP或者LNMP的基础上安装zabbix,安装一些依赖包:
yum -y install mysql-devel libcurl-devel net-snmp-devel
2、添加用户:
groupadd zabbix
useradd zabbix -g zabbix
3、创建数据库,添加授权账号
create database zabbix character set utf8;
导入数据库
mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/schemasql
mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/imagessql
mysql -uzabbix -pzabbix -hlocalhost zabbix < database/mysql/datasql
1、监控windows进程内存。在C盘中创建脚本abat,内容tasklist。
2、在zabbix客户端配置文件zabbix-agentdwinconf中添加UserParameter=aa,c:\abat。
3、在主机的监控项中添加新的监控项,这样就可以监控windows进程内存。
4、还可以通过zabbix监控网络设备,网络配置>接口/区域>区域TAB页,在“允许管理设备”里勾选“SNMP”。
5、在网络配置>高级网络配置里,找到snmp标签页,添加一条SNMP V1/V2规则。
6、用snmp进行管理,这里的设备的IP一定要在第一步“允许管理此设备的IP”范围内,用下面命令进行测试。
7、创建监控主机,选择snmp接口,默认端口为161。
8、通过在zabbix上创建监控项,配置上键值、SNMP OID、SNMP community。
9、这样就能通过监控项获取到最新数据了。
zabbix是一个基于WEB界面的提供分布式系统监视以及网
络监视功能的企业级的开源解决方案。
zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。
zabbix由2部分构成,zabbix server与可选组件zabbix agent。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X等平台上。
zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与操作系统有关的内存,CPU等信息的收集。zabbix agent可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD, OS X, Tru64/OSF1, Windows NT40, Windows (2000/2003/XP/Vista)等系统之上。
zabbix server可以单独监视远程服务器的服务状态;同时也可以与zabbix agent配合,可以轮询zabbix agent主动接收监视数据(agent方式),同时还可被动接收zabbix agent发送的数据(trapping方式)。
另外zabbix server还支持SNMP (v1,v2),可以与SNMP软件(例如:net-snmp)等配合使用。[1]
2特点
zabbix的主要特点:
- 安装与配置简单,学习成本低
- 支持多语言(包括中文)
- 免费开源
- 自动发现服务器与网络设备
- 分布式监视以及WEB集中管理功能
- 可以无agent监视
- 用户安全认证和柔软的授权方式
- 通过WEB界面设置或查看监视结果
- email等通知功能
等等
Zabbix主要功能:
- CPU负荷
- 内存使用
-磁盘使用
- 网络状况
- 端口监视
- 日志监视。
zabbix服务器端通过与zabbix agent通信来获取客户端服务器的数据,agent分为两个版本,在配置主机我们可以看到一个是agent,另一个是agent(active)。 agent:zabbix server向zabbix agent讨要数据。
会无法登录。
可以先试着重启,查看日志发现当时用户没有权限,当时配置的用户也是localhost权限,之后重启httpd,zabbixserverzabbixagentd后可以使用。
0条评论