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”
PHP提示的各项参数都满足后,单击‘Next’按钮。如果提示参数不通过,通过修改php.ini配置文件,并重启httpd服务。
port为3306,name,user,password都是zabbix。尝试连接数据库成功后,点击Next到下一个选项。
然后就进入zabbix的登陆界面,默认账户是Admin,密码是zabbix。
登录界面,如果发现本机的服务和监控是not running的点击Configuration、Hosts看到的ZabbixServer的Status状态为Not monitored,可以点击Not monitored按钮将其设置成Monitored。
修改中文界面 profile-Language
二、配置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)
(2).主机参数这里填写。注意客户端名称以及对外显示名称、群组和IP地址(包括dns name区别) 是否设置代理。其他的根据自身情况设置。
(3.) 选择主机监控使用的模版,这里监控的是一台CentOS 6.5,搜索linux 选择第一个以后点击添加。然后存档。
(4.) 查看已经监控的主机,至此,主机监控添加完毕。
(5.)查看监控的主机图表。
步骤:Monitoring ->graphs 就可以看到监控主机的图表了。
至此,监控主机添加完成!
四、创建screen
点击Configuration--screen--create screen,输入如下信息:
然后向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表示该端口关闭。
六、查看告警事件