zabbix 3.4 安装
1、安装源码库配置部署包
#rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.noarch.rpm
2、安装zabbix部署包
#yum install zabbix-server-mysql zabbix-web-mysql
3、安装初始化数据库
- 设置存储库
#vim /etc/yum.repos.d/MariaDB.repo
--------------------------
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey = https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck = 1
---------------------------
- 安装,启动数据库
#yum install MariaDB-server MariaDB-client
#systemctl start mariadb
- 创建库,设置zabbix账户
#mysql
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@'%' identified by '<password>';
MariaDB [(none)]> quit;
- 导入初始架构和数据
#cd /usr/share/doc/zabbix-server-mysql-3.4.0
#zcat create.sql.gz | mysql -uroot zabbix
- 启动zabbix server进程
编辑zabbix_server.conf中数据库的配置
#vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
#systemctl start zabbix-server
4、 编辑zabbix前端的PHP配置
- Zabbix前端的Apache配置文件位于 /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga
php_value date.timezone Asia/Shanghai
- 启动Apache Web服务器
#systemctl start httpd
5、web访问zabbix监控页面
http://zabbix_ip/zabbix
6、问题处理
- zabbix server is not running解决办法:
#cat /var/log/zabbix/zabbix_server.log
7、性能调优
概述
使Zabbix系统正确调整以获得最佳性能是非常重要的。
硬件
关于硬件的一般建议:
使用最快的处理器
SCSI或者SAS都是比IDE和SATA更好的选择 (使用实用程序hdparm可以显着提高IDE磁盘的性能)
15K RPM优于10K RPM,优于7200RPM
使用快速RAID存储
使用快速以太网适配器
拥有更多的内存总是更好
操作系统
使用最新(stable!)版本的操作系统
从内核中排除不必要的功能
调整内核参数
Zabbix配置参数
可以调整许多参数以获得最佳性能。
zabbix_server
StartPollers
一般规则 -保持此参数的值尽可能低。 zabbix_server的每个附加实例都会添加已知的开销, 同时,并行性增加。当队列平均包含最小参数数量(理想情况下,在任何给定时刻为0)时,实现最佳实例数。可以通过使用内部检查zabbix [queue]来监视此值。
DebugLevel
最佳值为3.
DBSocket
仅限MySQL. 建议使用DBSocket连接数据库。 那是最快和最安全的方式。
数据库引擎
这可能是Zabbix调优中最重要的部分。 Zabbix在很大程度上取决于数据库引擎的可用性和性能。
- 使用最快的数据库引擎,即MySQL或PostgreSQL
- 从源重建MySQL或PostgreSQL以获得最大的性能
- 遵循从MySQL或PostgreSQL文档获取的性能调优说明
- 对于MySQL,使用InnoDB表结构
- 如果使用InnoDB,ZABBIX的运行速度至少要快1.5倍(与MyISAM相比). 这是因为并行性增加。 但是,InnoDB需要更多的CPU电源。
- 强烈建议调整数据库服务器以获得最佳性能。
- 将数据库表保留在不同的硬盘上
- “历史”,“历史记录”,“项目”,“触发器”和“趋势”是使用最多的表格。
- 对于大型安装,建议在tmpfs中保留MySQL临时文件
一般建议
- 仅监控所需参数
- 调整所有项目的“更新间隔”。 保持较小的更新间隔对于漂亮的图形可能是好的,但是这可能会超载Zabbix
- 调整默认模板的参数
- 调整管理参数
- 不监视返回相同信息的参数。
- 避免使用长期给出的触发器作为函数参数。 例如,max(3600)的计算速度明显比max(60)慢。
Linux
在Linux系统上,“ps”命令可以与“watch”命令一起使用,以观察Zabbix的工作。 例如,要每秒运行“ps”命令5次以查看进程活动:
watch -n 0.2 ps -fu zabbix
仅显示Zabbix代理和代理进程:
watch -tn 0.2 'ps -f -C zabbix_proxy -C zabbix_agentd'
仅显示历史记录进程:
watch -tn 0.2 'ps -fC zabbix_server | grep history'
“ps”命令产生一个宽输出(大约190列),因为一些活动消息很长。 如果您的终端有少于190列文本,您可以尝试
watch -tn 0.2 'ps -o cmd -C zabbix_server -C zabbix_proxy -C zabbix_agentd'
仅显示没有UID,PID,开始时间等的命令行
top命令也可用于观察Zabbix的性能。在top中按’c’键显示其命令行的进程。 在我们对Linux“top”和“atop”的测试中,正确显示了Zabbix进程的变化活动,但是“htop”不显示不断变化的活动。