admin
不忘初心,方得始终
级别: 管理员
只看楼主 | | | 0楼 发表于:2016-03-10 00:29

CentOS7.2部署Zabbix Server及Agent进行平台监控

Zabbix Server CentOS7.2_64 IP:172.17.8.112
Zabbix Agent CentOS7.2_64 IP:172.17.8.16(物理机)
Zabbix Agent CentOS7.2_64 IP:172.17.8.109(虚拟机)
1.关闭selinux及防火墙
systemctl stop firewalld
systemctl stop NetworkManager
systemctl disable firewalld
systemctl disable NetworkManager
setenforce 0
sed –I ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/sysconfig/selinux
2.安装LAMP基础组件:
yum install gcc gcc-c++ autoconf automake make –y
安装PHP:
yum install php php-gd php-mysql php-bcmath php-mbstring php-xml curl curl-devel net-snmp   net-snmp-devel perl-DBI –y
安装Apache:
yum install httpd –y
vi /etc/httpd/conf/httpd.conf:
修改ServerName 为172.17.8.112:80
修改DirectoryIndex,新增index.php
systemctl start httpd
systemctl enable httpd
安装Mariadb:
yum install mariadb* -y
systemctl start mariadb
systemctl enable mariadb
3.修改PHP相关参数:
max_execution_time = 300
max_input_time = 300
memory_limit = 128M
upload_max_filesize = 2M
date.timezone = Asia/Shanghai
post_max_size = 28M
4.数据库配置:
Systemctl start mairadb.service
mysql –uroot –p
create database zabbix character set utf8;
insert into mysql.user(Host,User,Password) values(‘localhost’,’zabbix’,password(‘zabbix’));
grant all on zabbix.* to ‘zabbix’@’127.0.0.1’ identified by ‘zabbix’ with grant option;
flush privileges;
grant all on zabbix.* to ‘zabbix’@’localhost’ identified by ‘zabbix’ with grant option;
flush privileges;
5.安装zabbix Server 2.4.7:
rpm –ivh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-release-2.4-1.el7.noarch.rpm
yum install zabbix-server-mysql zabbix-web-mysql -y
rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-get-2.4.7-1.el7.x86_64.rpm
6.安装Zabbix agent:
yum install zabbix-agent -y
7.初始化zabbix数据库:
cd /usr/share/doc/zabbix-server-mysql-2.4.7/create
mysql –uroot zabbix < schema.sql
mysql –uroot zabbix < images.sql
mysql –uroot zabbix < data.sql
8.修改Zabbix Server配置文件/etc/zabbix/zabbix_server.conf:
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
ListenIP=0.0.0.0
AlertScriptsPath=/usr/lib/zabbix/alertscripts
9.部署Zabbix软件:
浏览器访问地址:
http://172.17.8.112/zabbix/
出现http://172.17.8.112/zabbix/setup.php后点击“下一步”。
输入:
数据库类型:mysql
数据库主机:localhost
数据库端口:0(使用默认端口3306)
数据库名字:zabbix
数据库用户:zabbix
数据库密码:zabbix
Test Connection:OK
10.    输入:
Host:localhost
Port:10051
Name:zabbixserver
11.使用admin/zabbix账号登录http://172.17.8.112/zabbix/dashboard.php
12.更改语言,点击右上角profile,语言选择:Chinese(zh_CN)。
13.启动zabbix agent:
systemctl start zabbix-agent
systemctl enable zabbix-agent
14.Zabbix Server使用端口10051
Zabbix Agent使用端口10050
15.针对zabbix 乱码问题的解决方法:
Zabbix Server安装中文字库:
查看当前zabbix的字体:
more /usr/share/zabbix/include/defines.inc.php|grep FONT
查看当前字体为graphfont.ttf。
下载新字体对原有字体进行替换:
cd /root
wget http://down1.chinaunix.net/distfiles/ttf-arphic-uming_0.0.20050501-1.tar.gz
cd /usr/share/zabbix/fonts
mv graphfont.ttf /root/
cp /root/ttf-arphic-uming_0.0.20050501/uming.ttf /usr/share/zabbix/fonts/ graphfont.ttf
还有一种方法是使用windows的系统字体进行替换:
从windows系统C盘的windows\Fonts\选择一种,这里选择楷体常规simkai.ttf字体。
sed –I ‘s/graphfont/simkai/g’ /usr/share/zabbix/include/defines.inc.php
systemctl restart zabbix-server
systemctl restart zabbix-agent
16.Linux监控端agent部署与配置:
rpm –ivh http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-release-2.4-1.el7.noarch.rpm
yum install zabbix-agent –y
修改Zabbix agent配置文件/etc/zabbix/zabbix_agentd.conf:
EnableRemoteCommands=1
Server=172.17.8.112 #Server端的IP地址。
ServerActive=172.17.8.112(zabbix server 端口10051可以默认。)
Hostname=controller #必须与zabbix server端创建主机时候输入的zabbix agent端的host name一致。
Server和ServerActive都要指定zabbix server的IP地址。Server是用来允许zabbix  server的这个IP来主动取数据,ServerActive 是客户端主动提交数据给zabbix server端。
启动zabbix-agent服务:systemctl start zabbix-agent
Systemctl enable zabbix-agent
17.添加agent端监控主机:
组态—新建主机—主机名称(controller)--DNS:4个114—模板Template OS Linux。
选择主机—启用主机。
18.Zabbix server端安装nmap 进行端口扫描:
yum install nmap –y
nmap –sT 172.17.8.109 –p 10050
19.Centos7.0 安装postfix:
由于CentOS7.0中默认采用postfix作为邮件发送的服务器。所以进行配置:
vi /etc/hosts
172.17.8.112 zabbixserver.87long.com zabbixserver
cd /etc/postfix/
cp main.cf main.cf.bak
vi main.cf,内容如下:
queue_directory= /var/spool/postfix   #队列目录,也是运行的根目录
mydomain = 87long.com  #指定邮件域,接收用来识别的。
myhostname= zabbixserver.87long.com  #发送邮件的主机名为zabbixserver.87long.com,用户名为:root@zabbixserver.87long.com
mynetworks= 172.17.8.0/24, 127.0.0.0/8   #指定允许使用的ip地址段
myorigin =$mydomain   #发信地址,此设置显示为87long.com
inet_interfaces= all      #对外提供MTA服务设置为监听所有网卡,默认只监听本地
#inet_interfaces= localhost   #注释掉,这个是只监听本地的
mydestination= $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks_style= subnet   #允许转发的来源网段,可选subnet子网,class网段,host本机
local_recipient_maps =  把前面的注释拿掉
relay_domains= $mydestination   #允许转发的目标域
alias_maps= hash:/etc/aliases     #对某个用户发,文件中的用户都可以收到邮件
alias_database= hash:/etc/aliases
smtpd_banner= $myhostname ESMTP  $mail_name  ($mail_version)  #自定服务器信息
systemctl restart postfix
mail –s ‘Postfix’ 630995935@qq.com < /etc/passwd进行测试。
配置dovecot服务器,实现邮件接收和发送。
yum install dovecot –y
cd /etc/dovecot/
cp dovecot.conf dovecot.conf.bak
vim /etc/dovecot/dovecot.conf:
Protocols = imap pop3 lmtp #启用协议,lmtp被淘汰的地步。可能不被支持,不用可以删掉。
Login_trusted_networks = 172.17.8.0/24 //指定允许登录的网段地址。
或者Login_trusted_networks = 0.0.0.0 四个零,允许所有网络。
设置邮件存放目录:
cd /etc/dovecot/conf.d/
cp 10-mail.conf 10-mail.conf.bak
vim 10-mail.conf:
mail_location = mbox:~/mail:INBOX=/var/mail/%u 指定邮件的位置。
systemctl restart dovecot
vim /etc/skel/.bash_profile
If [ ! –d ~/mail/.imap/INBOX ]; then
    Mkdir –p ~/mail/.imap/INBOX
fi
source /etc/skel/.bash_profile
邮件测试:
useradd alice
echo alice:123456|chpasswd
useradd bob
echo 123456|chpasswd
测试发信:
Mail发邮件三种用法:
1.以文件中的内容为邮件内容发信:
su – alice
mail –s ‘postfix1’ bob@zabbixserver < /etc/hosts
echo ‘2222’ |mail –s ‘postfix2’ bob@zabbixserver
mail –s ‘postfix3’ bob@zabbixserver
Yyyuu
Hhkk
.
EOT
通过mail命令查看邮件,进行收件验证。
20.zabbix server设置邮箱报警:
打开IE浏览器,输入http://Zabbix Server IP/zabbix。
1.打开zabbix—管理—示警媒体类型—右上角--创建媒体类型。
描述:zabbixserver.87long.com
类型:电子邮件
SMTP服务器:zabbixserver.87long.com
SMTP HELO:zabbixserver.87long.com
SMTP电邮:root@zabbixserver.87long.com
已启用—打对勾。
2.设置zabbix用户的报警邮箱:
打开zabbix—管理—成员—Admin—示警媒介—添加。
类型选zabbixserver.87long.com—收件人:写好告警邮件接收的邮箱地址。
状态:已启用。
3.配置报警触发的动作:
组态—动作—右上角--创建动作。
动作名称:Action-Email。
默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
默认信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
恢复信息:打对勾。
恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
恢复信息:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID:{EVENT.ID}
已启用:打对勾。
4.配置报警执行的动作:
默认操作步骤持续时间:300秒。
自从:1
到:1(0表示无限地)。
步骤持续时间:0秒。
操作类型:送出信息。
送到用户群组:Zabbix Administrators
送到用户:Admin
仅送到:zabbixserver.87long.com
默认信息:打对勾。
告警每隔5分钟不间断发送到Admin用户及Zabbix Administrators用户群组。
21.iptables防火墙规则设置:
vim /etc/sysconfig/iptables,添加下面的内容:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10050:10051 -j ACCEPT
-A INPUT -p udp -m state --state NEW -m udp --dport 10050:10051 -j ACCEPT
/etc/init.d/iptables restart重启iptables防火墙服务。