参考 zabbix概述http://www.linuxea.com/index.php/archives/896.html
Zabbix进程描述:
Poller:此进程可能会被启动多个,应对更多请求
Httppoller:监控web页面专用poller
Discoverer:发现进程 占用资源较大
Alerter:警报工作
Housekeeper:指明数据保存时间,清理数据
Watchdog:监控主机进程是否关闭,并激活
Escalator:报警生成器
Timer:时间,计时器
Nodewatchel:监控节点
Pinger:ping操作监控节点是否在线的独特机制
Db_config_syncer:同步配置,分布式场景
Db_data_syncer: 同步时间,分布式场景
安装和部署:
在安装zabbix之前,需要部署database,在部署lap平台
Hardware Examples官方说明:
20台机器:PII350MHZ+256MB+sqlite
500台:AMD Athion3200+2GB+mysqlinnodb
小于1000台:Intel Core 6300 +4GB+RAUD 10 Mysql innodb or postgressql
小于10000台:xeon 2xcpu+8GB +Fast RAID 10 Mysql innodb or postgressql
Zabbix产生的数据主要由四部分组成:
1, 配置数据
2, 历史数据:50bytes
3, 历史趋势数据 :128bytes
4, 事件数据:130bytes
Zabbix支持众多数据库,一般而言预留多少存储数据,每一次的数据收集有 50字节,历史趋势数据128字节,事件数据130字节,假设5分钟收集一次,保存时间,相乘计算出存储数据的预留空间
1,安装mysql
下载mariadb-5.5.44.tar.gz
[root@[node108] ~]# yum groupinstall"Development Tools" "Server Platform Development" –y
[root@[node108] ~]#yum -y install cmake
[root@[node108] ~]# groupadd -r -g 306mysql
[root@[node108] ~]# useradd -r -g 306 -u306 mysql
[root@[node108] ~]# cd mariadb-5.5.44
[root@[node108] ~]# tar xf mariadb-5.5.44.tar.gz
[root@[node108] ~]# cd mariadb-5.5.44
[root@[node108] ~]# cmake
-DCMAKE_INSTALL_PREFIX=/usr/local/Nmariadb-5.5.44
-DMYSQL_DATADIR=/mydata/data
-DSYSCONFDIR=/etc
-DWITH_INNOBASE_STORAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
-DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
[root@[node108] ~]# make
[root@[node108] ~]# make install
[root@[node108] ~]#mkdir /mydata
[root@[node108] mariadb-5.5.44]# cd/usr/local/ Nmariadb-5.5.44/
[root@[node108] Nmariadb-5.5.44]#scripts/mysql_install_db --user=mysql --datadir=/mydata
[root@[node108] Nmariadb-5.5.44]# cpsupport-files/my-large.cnf /etc/mysql/my.cnf
[root@[node108] Nmariadb-5.5.44]# vim/etc/mysql/my.cnf
在[mysqld]里面添加如下
datadir =/mydata/data 安装目录指定
innodb_file_per_table= NO
skip_name_resolve =NO 跳过名称解析的
[root@[node108] Nmariadb-5.5.44]# cpsupport-files/mysql.server /etc/rc.d/init.d/mysqld
[root@[node108] Nmariadb-5.5.44]# chmod +x/etc/rc.d/init.d/mysqld
[root@[node108] Nmariadb-5.5.44]# chkconfig--add mysqld
[root@[node108] Nmariadb-5.5.44]# chkconfigmysqld on
[root@[node108] Nmariadb-5.5.44]# servicemysqld start
Starting MySQL....... [ OK ]
[root@[node108] Nmariadb-5.5.44]# ss -tlp|grep :mysql
LISTEN 0 50 *:mysql *:* users:(("mysqld",43871,14))
[root@[node108] Nmariadb-5.5.44]#
给root用户添加密码,并且删除用户
[root@localhostmysql]# /usr/local/mysql/bin/mysql_secure_installation
[root@[node108] profile.d]# vim/etc/profile.d/mysqld.sh
exportPATH=/usr/local/Nmariadb-5.5.44/bin/:$PATH
[root@[node108] profile.d]# ./etc/profile.d/mysqld.sh
[root@[node108] profile.d]# mysql
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 3
Server version: 5.5.44-MariaDB-log Sourcedistribution
Copyright (c) 2000, 2015, Oracle, MariaDBCorporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' toclear the current input statement.
创建数据库zabbix
MariaDB [(none)]> CREATE DATABASE zabbixCHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)
创建zbuser用户,授权此用用户可以通过172.16.x.x访问zabbix库,密码zbuser
请注意:这里由于是作用在一台主机,所有授权是localhost,如果不是同一个主机授权的可能是主机名
MariaDB [(none)]> GRANT ALL on zabbix.*TO 'zbuser'@'172.16.%.%' IDENTIFIED BY 'zbuser';
Query OK, 0 rows affected (0.01 sec)
MariaDB [(none)]> GRANT ALL on zabbix.*TO 'zbuser'@'localhost' IDENTIFIED BY 'zbuser';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> q
Bye
[root@[node108] ~]#
使用本机测试下授权
[root@[node108] ~]# mysql -uzbuser-h172.16.249.22 -p
Enter password:
Welcome to the MariaDB monitor. Commands end with ; or g.
Your MariaDB connection id is 5
Server version: 5.5.44-MariaDB-log Sourcedistribution
Copyright (c) 2000, 2015, Oracle, MariaDBCorporation Ab and others.
Type 'help;' or 'h' for help. Type 'c' toclear the current input statement.
MariaDB [(none)]>q
Bye
2,下载zabbix安装
指定官方yum源,www.zabbix.com
Wget http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
下载zabbix-release-2.4-1.e16.noarch.rpm包,就会自动创建本地yum源
如果不装把链接也到repo中即可
编译安装server和agent,并支持将数据放入mysql数据中,可使用类似如下配置命令:
./configure --enable-server ---enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-ssh2
如果仅安装server,并支持将数据库放入mysql数据库中,可使用类似如下配置命令:
./configure --enable-server --with-mysql --with-net-snmp --with-libcurl
如果仅安装proxy,并支持将数据放入mysql数据库中,可使用类似如下配置命令:
./configure --profix=/usr --enable-proxy --with-net-snmp --with-mysql --with-ssh2
如果仅安装agent,可使用类似如下配置命令:
./configure --enable-agent
而后编译安装zabbix即可:
#make
#make install
服务端安装:
[root@[node108] zabbix-2.4.5]yum installzabbix-server-2.4.5-1.el6.x86_64.rpmzabbix-server-mysql-2.4.5-1.el6.x86_64.rpm zabbix-get-2.4.5-1.el6.x86_64.rpm zabbix-2.4.5-1.el6.x86_64.rpmzabbix-web-2.4.5-1.el6.noarch.rpm zabbix-web-mysql-2.4.5-1.el6.noarch.rpmzabbix-agent-2.4.5-1.el6.x86_64.rpm zabbix-sender-2.4.5-1.el6.x86_64.rpm
在/etc/httpd/conf.d目录下由zabbix.conf文件,所以每次配置完成后必须重载httpd
启动zabbix之前需要导入数据到mysql
[root@[node108] zabbix]# cd /usr/share/doc/zabbix-server-mysql-2.4.5/ create/
[root@[node108] create]#ls
data.sql images.sql schema.sql
导入顺序从右到左
[root@localhost create]# mysql zabbix-uroot < schema.sql
[root@localhost create]# mysql zabbix-uroot < images.sql
[root@localhost create]# mysql zabbix -uroot< data.sql
配置文件:
LogFileSize=0 日志滚动选项,0为不滚动
默认为Debuglevel=3级别
DBHost=localhost 指定数据库
DBUser=zbuser 用户
DBPassword=zbuser 密码
DBSocket=/tmp/mysql.sock sock位置
# StartPollers=5 进程启动5个
# StartDiscoverers=1启动发现
# StartTimers=1 计时器进程
# MaxHousekeeperDelete=500最多删除个数
# StartDBSyncers=4报警
# StartDBSyncers=4同步进程
# HistoryCacheSize=8M历史数据缓存
# TrendCacheSize=4M历史文本缓存
AlertScriptsPath=/usr/lib/zabbix/alertscripts 报警脚本存放路径
ExternalScripts=/usr/lib/zabbix/externalscripts外部脚本存放路径
# SSHKeyLocation= ssh监控
其他是proxy
[root@localhost zabbix]# servicezabbix-server start
Starting Zabbix server: [ OK ]
[root@localhost zabbix]# ss -tnl |grep:10051
LISTEN 0 128 :::10051 :::*
LISTEN 0 128 *:10051 *:*
[root@localhost zabbix]#ss -tnlp可以看到zabbix启动了很多进程
在浏览器中输入ip地址/zabbix即可看到安装界面
在下一步之前需要修改时区
[root@localhost zabbix]# vim /etc/php.ini
date.timezone = Asia/Shanghai
Reloading httpd:
[root@localhost zabbix]# service httpdrestart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]
[root@localhost zabbix]#
如果这里报错如下
Error connecting to database: Can't connectto local MySQL server through socket '/var/lib/mysql/mysql.sock
可su 到mysql用户下
[root@localhost mysql]# su mysql
bash-4.1$ ln -s /tmp/mysql.sock/var/lib/mysql/mysql.sock
而后下一步
默认管理员账户密码:admin zabbix
让zabbix监控自己,包已经安装过了
[root@localhost mysql]# vim/etc/zabbix/zabbix_agentd.conf
授权IP地址
Server=127.0.0.1,172.16.249.22
主动发送server ip(如果监控的是自己,127.0.0.1是不可以去掉的)
ServerActive=127.0.0.1,172.16.249.22
自动联系,推送数据,这里的hostname必须全局唯一
Hostname=Zabbix server
[root@localhost mysql]# servicezabbix-agent start
Starting Zabbix agent: [ OK ]
[root@localhost mysql]#
添加一台主机监控
安装以下包
[root@PC1 zabbix-2.4.5]# yum installzabbix-2.4.5-1.el6.x86_64.rpm zabbix-agent-2.4.5-1.el6.x86_64.rpmzabbix-sender-2.4.5-1.el6.x86_64.rpm
修改配置文件
[root@PC1 zabbix-2.4.5]# cp/etc/zabbix/zabbix_agentd.conf{,.bak}
[root@PC1 zabbix-2.4.5]# vim/etc/zabbix/zabbix_agentd.conf
ServerActive=172.16.249.22 指向zabbix监控主机
Hostname=PC1 设置主机名
Server=172.16.249.22 指向zabbix监控主机
[root@PC1 zabbix-2.4.5]# servicezabbix-agent start
Starting Zabbix agent: [ OK ]
[root@PC1 zabbix-2.4.5]#
PS:如果这里有iptables,这里需要放行zabbix
在web_gui界面添加主机
Templates:模板
Macros:主机宏,一次修改多次有效的哟
Host inventory:资产清单
这里已经定义完毕!
如何定义详细情况,下章在看