zabbix-2.2使用笔记

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zabbix-2.2使用笔记相关的知识,希望对你有一定的参考价值。

【zabbix2.2以上命令构成】/usr/local/src

★zabbix_server:Zabbix服务端的核心程序,zabbix服务端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、zabbix_java_gateway的数据最终都是提交到server

备注:当然不是数据都是主动提交给zabbix_server,也有的是server主动去取数据。

★zabbix_agentd:以独立进程的方式来启动,对应的配置文件为zabbix_agentd.conf。客户端守护进程,此进程收集客户端数据,例如cpu负载、内存、硬盘使用情况等

zabbix_agent:用超级服务(xinetd)的方式来启动的,对应的配置文件为zabbix_agent.conf

zabbix_get:zabbix_get是一个数据获取测试命令,相当于snmp中的snmpwalk。通常在server或者proxy端执行获取远程客户端信息的命令。通常用于为用户排错。

例如在server端获取不到客户端的内存数据,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查。比如:zabbix_get -s121.42.157.96 -p10050 -k"system.uptime"

zabbix_sender:zabbix工具,用于发送数据给server或者proxy,通常用于耗时比较长的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,使用sender主动提交数据。

zabbix_proxy:zabbix代理守护进程。功能类似server,唯一不同的是它只是一个中转站,它需要把收集到的数据提交/被提交到server里。为什么要用代理?代理是做什么的?卖个关子,请继续关注运维生存时间zabbix教程系列。

zabbix_java_gateway:zabbix2.0之后引入的一个功能。Zabbix的Java采集服务端,用于JMX的监控方式。顾名思义:Java网关,类似agentd,但是只用于Java方面。需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会给到server或者proxy

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

安装注意:

mysql:5.0.3或者以上,推荐使用InnoDB引擎(TTLSA推荐使用MySQL,开源免费资料多)

php:5.3.0或者以上,zabbix早期版本支持5.2,但是2.2版本只支持到5.3

如果你需要通过Java网关来监控你的Java进程,那么还需要增加其他软件

Interfaces:主机接口: 包含Agent, SNMP, JMX and IPMI

zabbix_server——10051,zabbix agent默认端口10050,JavaGateway的端口号10052, snmp 161,jmx 12345,IMPI 623

Items:是从主机里面获取的所有数据,通常情况下叫itme为监控项,item由key+参数组成,

监控项中需要获取cpu信息,则需要一个对应的监控key:system.cpu.load。如果是获取网卡流量,那么获取网卡这个监控项需要key:net.if.in或者net.if.out。

zabbix_agent.conf是用超级服务(xinetd)的方式来启动的,

zabbix_agentd.conf是以独立进程的方式来启动的.比如:service zabbix_agentd start就是使用这个配置文件


各版本“环境要求”

https://www.zabbix.com/documentation/2.2/manual/installation/requirements

安装包安装方法

CentOS 6.4下快速部署”Zabbix 2.4“ http://www.linuxidc.com/Linux/2014-11/109909.htm

service sendmail start

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

编译【zabbix安装说明】

wget http://ncu.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.11/zabbix-2.2.11.tar.gz

服务器、客户端、代理服务器都是从zabbix-2.2.2.tar.gz 解压安装,配置需要各自激活才make && make install安装

编译安装zabbix

# ./configure --prefix=/usr/local/zabbix \          //指定安装目录

 --enable-server \                                  //安装zabbix server

 --enable-proxy \                                   //安装 Zabbix Proxy           

 --enable-agent \                                   //安装 Zabbix Agent

 --with-mysql=/usr/local/mysql/bin/mysql_config \   //使用 mysql 做数据库服务器

 --with-net-snmp \                                  //支持 SNMP

 --with-libcurl                                     //支持 curl,用于 web 监控

# make && make install 

服务器安装:./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-libcurl --with-net-snmp  --with-libcurl  --with-libxml2 

CentOS6X:./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --with-openipmi --with-unixodbc 

# make && make install

客户端编译配置:./configure --prefix=/usr/local/zabbix --enable-agent

代理服务器编译:./configure --prefix=/usr/local/zabbix --enable-proxy

zabbix_agentd.conf客户端配置文件全部相同,其中ServerActive是客户端主动推送数据 

zabbix升级方法:备份--》重新安装--》启动

官方安装手册:https://www.zabbix.com/documentation/2.2/manual/installation/install,不过最好加参数“--prefix=/usr/local/zabbix”


【scp [email protected]:/tmp/zabbix2.2.tar.gz /usr/local/src

useradd zabbix -s /sbin/nologin

tar -zxf zabbix2.2.tar.gz;cd zabbix-2.2.11

./configure --prefix=/usr/local/zabbix --enable-agent

make && make install

cp misc/init.d/fedora/core5/zabbix_agentd /etc/init.d/

sed -i ‘s/sbin/zabbix\/sbin/g‘ /etc/init.d/zabbix_agentd

sed -i ‘s/Server=127.0.0.1/Server=115.28.204.183/g‘ /usr/local/zabbix/etc/zabbix_agentd.conf

sed -i ‘s/ServerActive=127.0.0.1/ServerActive=115.28.204.183/g‘ /usr/local/zabbix/etc/zabbix_agentd.conf

echo "zabbix-agent  10050/tcp  # Zabbix Agent" >> /etc/services

echo "zabbix-agent  10050/udp  # Zabbix Agent" >> /etc/services

service zabbix_agentd start

chkconfig zabbix_agentd on

-A RH-Firewall-1-INPUT -s 115.28.204.183 -j ACCEPT】


【zabbix配置问题】

出现问题要多看运行日志

less /tmp/zabbix_server.log

less /tmp/zabbix_agentd.log

1、添加被控主机没有模板

添加模板要select再点add之后点save,不可以跳过add

2、添加的主机可用性红色报警

查看zabbix_agentd.log日志,服务器/客户端配置zabbix_agentd.conf是否正确。telnet服务器zabbix_agentd 10051与客户端10050端口,查看是否防火墙导致。从zabbix server上拷贝一份zabbix_agentd.conf,这个conf文件是所有平台都通用的,注意serverIP 最好不要使用127.0.0.1,使用eth0|1的IP地址。

3、zabbix_agentd加入开机启动二选一

chkconfig zabbix_server on

echo ‘/usr/local/zabbix/sbin/zabbix-agentd –c /usr/local/zabbix/zabbix_agentd.conf &‘ >>/etc/rc.local 

4、★Zabbix服务器端开启邮箱告警

a> 首先WEB控制台上新建媒介类型:Administratror->Media type-->"create"

type->"script"

sendmail.sh

b> [[email protected] alertscripts]# cat sendmail.sh 

#!/bin/sh

export zabbixemailto=$1

export zabbixsubject=$2

export zabbixbody=$3

#echo "$3" | mail -s "$2" $1

echo "$zabbixbody" | mail -s "$zabbixsubject" $zabbixemailto

c> [[email protected] alertscripts]# cat /etc/mail.rc 

##使用外部邮箱发送报警邮件,注意必须先卸载内置的mailx软件,重新编译安装mailx

set [email protected] smtp=smtp.sina.com

set [email protected] smtp-auth-password=kxe620edfs623

set smtp-auth=login

d> 在zabbix_server.conf配置文件指定脚本所在路径

“AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts”

e> 动作配置,先不要停用内置的动作,测试能正常发送邮件了可以再来关闭

Configuration->Action->新建动作

注意:如果要修改动作,记得要点下update更新再保存。


笔记:

create user ‘zabbix‘@‘%‘ identified by ‘kee5ftrthrtzabbi‘;

grant all privileges on zabbix.* to [email protected] identified by ‘kee5wsezabbi‘;

zabbix  web  Admin  werwertgrth12fg

==============================================

1、zabbix服务器报错:

4467:20151216:074418.434 [Z3001] connection to database ‘zabbix‘ failed: [2002] Can‘t connect to local MySQL server through socket ‘/data/mysql/mysql.sock‘ (13)

  4467:20151216:074418.435 Database is down. Reconnecting in 10 seconds.

原因是数据库没有安装好

2、php.ini功能函数putenv需要开启(删除“putenv”即可)

disable_functions = eval,passthru,system,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,syslog,symlink,popen,putenv

3、开启mysql监控模板

cp /usr/local/src/zabbix-2.2.10/conf/zabbix_agentd/userparameter_mysql.conf /usr/local/zabbix/etc/zabbix_agentd.conf.d

vi /usr/local/zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf

UserParameter=mysql.status[*],echo "show global status where Variable_name=‘$1‘;" | HO

ME=/var/lib/zabbix /usr/local/mysql/bin/mysql -N | awk ‘{print $$2}‘

##编译安装的mysql需要写绝对路径

UserParameter=mysql.size[*],echo "select sum($(case "$3" in both|"") echo "data_length

+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from i

nformation_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=‘$

1‘")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=‘$2‘");" | HOME=/var/lib/za

bbix mysql -N

echo ‘Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/‘ >>/usr/local/zabbix/etc/zabbix_agentd.conf

4、监控进程方法

#proc.mem[<name>,<user>,<mode>,<cmdline>]

Memory used by a process. <name> process name (default: "all processes"). <user> user name (default: "all users"). <mode> possible values: avg, max, min, sum (default). <cmdline> filter by #command line (supports regex). Example: proc.mem[,root].

#proc.num[<name>,<user>,<state>,<cmdline>]

Number of processes. <name> and <user> same as in proc.mem item. <state> all (default), run, sleep, zomb. <cmdline> filter by command line (supports regex). Example: proc.num[apache2,www-data]. #On Windows, only <name> and <user> are supported.

#proc_info[<process>,<attribute>,<type>]

Different information about specific process(es)

比如要添加监控项目iker.jar

键值:proc.num[,root,all,iker.jar]

应用集:processes


以上是关于zabbix-2.2使用笔记的主要内容,如果未能解决你的问题,请参考以下文章

手把手安装ZABBIX2.2(CentOS6.5+Zabbix2.2.2)

zabbix配置部署

zabbix 客户端安装

1CentOS6.5以YUM方式安装Zabbix3.2.2

1Zabbix RPM包安装

Zabbix实战-简易教程--Server端安装