zabbix之自动化监控-部署篇(一)

标签(空格分隔): linux

笔者Q:972581034 交流群:605799367。有任何疑问可与笔者或加群交流


浅谈监控

监控命令

查看硬件的温度/风扇转速,电脑有鲁大师,服务器有ipmitool。使用ipmitool实现对服务器的命令行远程管理

yum -y install OpenIPMI ipmitool  #->IPMI在物理机可以成功,虚拟机不行

[root@KVM ~]# ipmitool sdr type Temperature
Temp             | 01h | ns  |  3.1 | Disabled
Temp             | 02h | ns  |  3.2 | Disabled
Temp             | 05h | ns  | 10.1  | Disabled
Temp             | 06h | ns  | 10.2  | Disabled
Ambient Temp     | 0Eh | ok  |  7.1 | 22 degrees C
Planar Temp      | 0Fh | ns  |  7.1 | Disabled
IOH THERMTRIP    | 5Dh | ns  |  7.1 | Disabled
CPU Temp Interf  | 76h | ns  |  7.1 | Disabled
Temp             | 0Ah | ns  |  8.1 | Disabled
Temp             | 0Bh | ns  |  8.1 | Disabled
Temp             | 0Ch | ns  |  8.1 | Disabled

想知道cpu性能好不好、忙不忙可以用lscpu、uptime、top、htop、vmstat、mpstat。

到底要监控什么

所有监控范畴,都可以整合到Zabbix中。
硬件监控:Zabbix IPMI Interface
系统监控:Zabbix Agent Interface
Jave监控:Zabbix JMX Interface
网络设备监控:Zabbix SNMP Interface
应用服务监控: Zabbix Agent UserParameter
MySQL数据库监控:percona-monitoring-plulgins
URL监控:Zabbix Web监控

什么是监控,一句话来说,就是数据的收集-存储-展示-告警。
需要监控什么呢?这是根据业务需求来进行具体分析的,大致分类:
硬件监控:IPMI、SNMP、机房巡检…
系统监控:CPU、内存、硬盘…
服务监控:nginx、tomcat、mysql…
日志监控:elastic stack…
网络监控:smokeing…
流量监控:piwik…
其他监控:安全监控、其他的监控工具。

浅谈zabbix

随着云计算、虚拟化的大规模应用,以及未来移动互联网、物联网等的兴起,Zabbix的使用将越来越广泛,应用场合也越来越多。

Zabbix单个Server节点可以支持上万台设备,每秒可以处理1.5万次请求,理论上可以支持5万台设备。

Zabbix自身的定位是中型企业和大型企业,如果在特大型环境中使用,需要解决大并发、大压力的问题,这对使用者提出了更高的要求。

无论你采用什么架构,是否使用代理,数据存储对zabbix来说,都是一项非常大的挑战。通常来说,使用分布式架构,采用Agent端为为主动模式,会提高zabbix的性能。

环境准备

系统环境

[root@m01 ~]# cat /etc/redhat-release 
CentOS release 6.8 (Final)
[root@m01 ~]# uname -r
2.6.32-642.el6.x86_64
[root@m01 ~]# /etc/init.d/iptables status
iptables: Firewall is not running.
[root@m01 ~]# getenforce
Disabled

部署过程

服务端

下载zabbix官方源

rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm

安装zabbix及相关包

yum -y install httpd zabbix-web zabbix-server-mysql zabbix-web-mysql mysql-server

PHP安装

rpm -ivh http://repo.webtatic.com/yum/el6/x86_64/webtatic-release-6-6.noarch.rpm
# 这个php源使用问题说明:
repo文件的网址是https,如https网站访问不了,使用sed将https替换为http。

yum -y install php55w php55w-mysql php55w-common php55w-gd php55w-mbstring php55w-mcrypt php55w-devel php55w-xml php55w-bcmath

#这里有必要说一下zabbix3.0必须要php5.4以上,因此需要安装特殊源,才能够安装php5.5

MySQL配置

\cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
#启动MySQL
/etc/init.d/mysqld start
#创建用户并授权
mysql
create database zabbix character set utf8 collate utf8_bin;
grant all on zabbix.* to zabbix@'localhost' identified by 'zabbix';
flush privileges;
exit

导入数据文件

cd /usr/share/doc/zabbix-server-mysql-3.0.7
zcat create.sql.gz |mysql -uzabbix -pzabbix zabbix

相关数据修改

# 修改php配置文件
egrep -n "^post_max_size|^max_execution_time|^max_input_time|^date.timezone" /etc/php.ini

sed -i 's#max_execution_time = 30#max_execution_time = 300#;s#max_input_time = 60#max_input_time = 300#;s#post_max_size = 8M#post_max_size = 16M#;910a date.timezone = Asia/Shanghai' /etc/php.ini

#修改zabbix_server配置文件
sed -i '115a DBPassword=zabbix' /etc/zabbix/zabbix_server.conf

网页文件

cp -R /usr/share/zabbix/ /var/www/html/

文件授权

chmod -R 755 /etc/zabbix/web
chown -R apache.apache /etc/zabbix/web 

启动zabbix

# 启动apache && zabbix
echo "ServerName 127.0.0.1:80">>/etc/httpd/conf/httpd.conf
/etc/init.d/httpd start
/etc/init.d/zabbix-server start

客户端

yum localinstall http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/6/x86_64/zabbix-agent-3.0.7-1.el6.x86_64.rpm -y

设置主动模式到server端

sed -i 's#Server=127.0.0.1#Server=172.16.1.61#' /etc/zabbix/zabbix_agentd.conf

启动zabbix

/etc/init.d/zabbix-agent start

注意先开MySQL

zabbix之自动化监控-自定义监控与报警(二):http://www.cnblogs.com/Csir/p/6759747.html
zabbix之自动化监控-监控MySQL实战(三) http://www.cnblogs.com/Csir/p/6805274.html

windowns

windonws agent
https://www.zabbix.com/downloads/3.0.4/zabbix_agents_3.0.4.win.zip

C:\zabbix_agents_3.0.0.win\bin\win64>zabbix_agentd.exe --install
C:\zabbix_agents_3.0.0.win\bin\win64>zabbix_agentd.exe --start

PerfCounter = interrupts,"\Processor(0)\Interrupts/sec",60