1.确认CentOS6.5系统能连接外网通信

[root@localhost ~] ping ×××w.baidu.com
PING ×××w.a.shifen.com (14.215.177.39) 56(84) bytes of data.64 bytes from 14.215.177.39:
 icmp_seq=1 ttl=128 time=10.4 ms64 bytes from 14.215.177.39:
 icmp_seq=2 ttl=128 time=10.4 ms

2.安装Zabbix官方源和epel源

[root@localhost ~] rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
Retrieving http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
warning: /var/tmp/rpm-tmp.UCSWcM: Header V4 DSA/SHA1 Signature, key ID 79ea5ed4: NOKEY
Preparing...                ########################################### [100%]
   1:zabbix-release         ########################################### [100%]
[root@localhost ~] rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Retrieving http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
warning: /var/tmp/rpm-tmp.Bxqd9e: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing...                ########################################### [100%]
   1:epel-release           ########################################### [100%]

3.安装Zabbix-Server
(由于服务器端也是需要监控的,一并安装zabbix-agent)

[root@localhost ~] yum -y install -y zabbix zabbix-get zabbix-server zabbix-web-mysql zabbix-web zabbix-agent#如果某项安装失败,可以单独安装。

4.安装MySQL数据库服务

[root@localhost ~] yum -y install mysql-server
[root@localhost ~] vim /etc/my.cnf 
#修改MYSQL配置文件(在[mysqld]下新添)
character-set-server=utf8 #设置字符集为utf8
innodb_file_per_table=1   #让innodb的每个表文件单独存储启动服务
[root@localhost ~] chkconfig mysqld on
[root@localhost ~] service mysqld start

5.创建zabbix数据库
(1)设置mysql的root的用户密码

[root@localhost ~] mysqladmin -uroot password admin
[root@localhost ~] mysql -uroot -padmin
mysql> create database zabbix character set utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

(2)导入zabbix-server的数据库
(如果安装zabbix-proxy,只导入schema.sql即可,无需导入下面的SQL,否则zabbix-proxy无法正常工作。)

root@localhost ~] mysql -uzabbix -pzabbix
mysql> use zabbix;
mysql> source /usr/share/doc/zabbix-server-mysql-2.4.8/create/schema.sql;
mysql> source /usr/share/doc/zabbix-server-mysql-2.4.8/create/images.sql;
mysql> source /usr/share/doc/zabbix-server-mysql-2.4.8/create/data.sql;

6.配置zabbix_server.conf

[root@localhost ~] vim /etc/zabbix/zabbix_server.conf 
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix   ##在BDPassword下添加新加一行

7.启动zabbix-server服务

[root@localhost ~] service zabbix-server start
[root@localhost ~] service httpd start
[root@localhost ~] chkconfig httpd on
[root@localhost ~] chkconfig zabbix-server on

8.防火墙,selinux(可关闭)

(1)防火墙的设置

[root@localhost ~] vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT#上述代码中,10050是agent的端口,agent采用被动方式,server主动连接agent的10050端口;10051是server的端口,agent采用主动或trapper方式,会连接10051端口。

(2)selinux的设置
如果开启selinux,安装时会提示不能写入文件,原因除了文件权限不是WEB用户外,还有一个原因是selinux默认不允许写入文件。

[root@localhost ~] chcon -R -t httpd_sys_content_rw_t /usr/share/zabbix/conf
[root@localhost ~] setsebool -P httpd_can_network_connect=true#如果selinux不是特别熟练的,可以选择关闭selinux
[root@localhost ~] setenforce 0  #设置为警告模式,只给出提示,不会组织操作,立即生效,但只是临时生效,重启失效。
[root@localhost ~] getenforce  #获取当前selinux的运行状态。#下面是永久关闭selinux的方法(修改配置文件,此方式需重启生效)
[root@localhost ~] vim /etc/selinux/config
SELINUX=disabled

9.php.ini配置文件的设置

[root@localhost ~] vim /etc/php.ini 
date.timezone = Asia/Shanghai     #前面有;号的要去掉
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
post_max_size = 16M
mbstring.func_overload = 2
[root@localhost ~]# service httpd restart

10.配置web界面

打开浏览器,输入“http://IP地址/zabbix”

CentOS6.5安装zabbix2.4详细教程

PHP提示的各项参数都满足后,单击‘Next’按钮。如果提示参数不通过,通过修改php.ini配置文件,并重启httpd服务。
CentOS6.5安装zabbix2.4详细教程

port为3306,name,user,password都是zabbix。尝试连接数据库成功后,点击Next到下一个选项。

CentOS6.5安装zabbix2.4详细教程

CentOS6.5安装zabbix2.4详细教程

然后就进入zabbix的登陆界面,默认账户是Admin,密码是zabbix。
CentOS6.5安装zabbix2.4详细教程

登录界面,如果发现本机的服务和监控是not running点击Configuration、Hosts看到的ZabbixServer的Status状态为Not monitored,可以点击Not monitored按钮将其设置成Monitored。

修改中文界面 profile-Language

image.png

二、配置zabbix-agent客户端

# yum install zabbix-agent -y

# vim /etc/zabbix/zabbix_agentd.conf

Server=server端ip地址                      #用于被动模式,数据获取

ServerActive=server端ip地址                #用于主动模式,数据提交

# /etc/init.d/zabbix-agent start            #启动zabbix agent

这里的主动模式还有被动模式的出发点都是agent端,所以agent主动向server端发送数据就成为主动模式,而等待server端主动获取数据则称为被动模式。

agent端安装比较简单.至此已经安装完毕,下来就是在server页面添加agent端.


三、zabbix添加agent端


(1)创建要监控的主机。点击配置(configuration)–》主机(host) –》创建主机 (create host)

image.png

(2).主机参数这里填写。注意客户端名称以及对外显示名称、群组和IP地址(包括dns name区别) 是否设置代理。其他的根据自身情况设置。

 

(3.) 选择主机监控使用的模版,这里监控的是一台CentOS 6.5,搜索linux 选择第一个以后点击添加。然后存档。

image.png

(4.) 查看已经监控的主机,至此,主机监控添加完毕。

(5.)查看监控的主机图表。 


步骤:Monitoring ->graphs 就可以看到监控主机的图表了。

至此,监控主机添加完成!


四、创建screen


点击Configuration--screen--create screen,输入如下信息:


image.png

然后向screen添加元素,并将screens组添加到监控面板中,即可!


五、 监控系统Zabbix -添加端口监控


对于进程和端口的监控,可以使用zabbix自带的key进行监控,只需要在server端维护就可以了,相比于nagios使用插件去监控的方式更为简单。下面简单介绍配置:


1、监控端口


zabbix监控端口使用如下key:

key:net.tcp.listen[port]

Checks if this port is in LISTEN state. 0 - it is not, 1 - it is inLISTEN state.


2、解释:


监听端口状态,返回结果为1,说明状态正常;返回结果为0,则说明状态异常。比如监控ssh的端口,net.tcp.listen[22].

下面例子中,ssh端口是自定义的22222。

需要先定义这个端口的监控项(items),监控项可以添加在模版中(create items),也可以单独定义在主机上(下面例子是在主机上定义的监控项)


3、配置监控项


【配置】----【主机】----【监控项】


【创建监控项】


【名称】:最好与触发器的名称保持一致

【键值】:需要监控的端口       【应用集】:Processes


4、配置触发器

【创建触发器】

接着添加该监控项的"触发器"。对于端口的监控,正常则返回值=1;对于进程的监控,正常则返回值>=1;如果返回结果为0,则代表该进程宕掉。如最后两次的结果都等于0时,则报警。(对于进程的触发器配置,是一样的)

选择主机,点击【触发器】,【创建触发器】


【名称】:改名为告警的短信的事件名称,规范:XXX业务的XXX端口


5、配置图形

【创建图形】


最后就可以在该主机的监控图形中查看到上面添加的ssh端口状态了:1表示该端口正常运行,0表示该端口关闭。



六、查看告警事件


image.png