yum安装zabbix3.0
前言:先谈谈zabbix的优劣,以及为啥要选择zabbix来搭建我们的监控平台;
- Zabbix优势:
1 支持分布式监控
2 自带绘图功能,获取到数值型的数据,可自动生成图
3 Web配置方式,操作易用性较好。添加监控项或机器时速度很快。
4 有报警时无论在任何界面会弹出小窗口报警,同时有报警的声音提示,同时可对监控项的快速查看。
5 自带内置函数较为丰富,同时也支持脚本及nagios等脚本的调用。
6 出现问题时,可自动远程执行命令(需对agent设置执行权限)
-
Zabbix 缺点:
1 批量修改不方便,可用数据库辅助
2 深入后,中文资料相当少,大部分问题需看官方的文档及论坛。
3 缺少数据汇总功能,如无法查看一组服务器平均值,可考虑对其进行二次开发。
4 zabbix较cacti来说,画图功能较差些、流量获取较为复杂
-
为什么选择Zabbix
1报警及时,在本猫小范围测试的128台机器,报警与设定时间吻合,没有报警延迟的情况。
2 Web管理方式,上手较为容易,经过简单培训,1天内即可上手。
3 安装、配置简单。
4 功能较为全面,同时支持2000台服务器(国内测试),官方测试5000台服务器。Nagios国内测试仅为400-500台。
5 后端数据库支持多样,Mysql,oracle等。
6 可基于监控的数据,做二次开发。
7 支持远程行执命令。(安全及风险需考虑)
-出处-:咖啡猫<Zabbix优势> -
通过上面的诉述,我想即使没有接触过zabbix的同学应该都比较清楚zabbix的优劣了,接下来我们进入本章正题--安装;
一、安装
1.卸载相关软件包,保持干净环境
yum remove -y mysql* httpd* php* nginx* zabbix*
2.安装依赖包
yum -y install wget gcc automake autoconf libtool make cmake bzip2 zlib-devel tree \
pam-devel vim-enhanced man ntpdate unzip telnet python perl perl-devel gcc-c++ zcat \
redhat-lsb tcpdump sysstat lsof git nfs-utils expect traceroute htop lrzsz pymysql\
MySQL-python libffi-devel libxml2 libxml2-devel libxslt-devel readline-devel \
libffi epel-release openssl-devel python-devel
rpm -ivh http://repo.webtatic.com/yum/el6/x86_64/libmysqlclient16-5.1.69-1.w6.x86_64.rpm
3.安装 数据库
数据库可以选择mariadb和mysql,下面是两种数据库的安装方式
- mysql 安装参考
rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
vi /etc/yum.repos.d/mysql-community.repo
yum repolist enabled | grep mysql
yum install -y mysql-community-server
- mariadb安装参考
vi /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.0/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
yum -y install MariaDB-client MariaDB-server MariaDB-devel
- 此过程会比较耗时,可以先打个 飞机再看
安装mysql报错:auto-extending data file ./ibdata1 is of a different size 640 pages
解决:
cd /var/lib/mysql
> rm -rf ib*
root@sh-salt-01 mysql
> /etc/init.d/mysqld start
Starting mysqld: [ OK ]
4.配置 数据库
- 配置管密码
/etc/init.d/mysql start
mysql -e "grant all on *.* to 'root'@'localhost' identified by '123';"
- 配置 zabbix 库
mysql -uroot -p123 -e "create database zabbix character set utf8;"
mysql -uroot -p123 -e "grant all on zabbix.* to zabbix@localhost identified by 'zabbix';"
报错:ERROR 1054 (42S22) at line 1: Unknown column 'plugin' in 'mysql.user'
原因:原来这个机器上之前装了5.1的mysql,它的user表只要39列,而5.6的有4.2列,用下面的命令进行修复表,参考
解决:mysql_upgrade --force -p123
Warning: Using a password on the command line interface can be insecure.
原因:这个是提示使用 -p123,这种直接跟密码的命令不安全,实验环境不予理会
5.安装 php
- 安装yum源
rpm -ivh http://repo.webtatic.com/yum/el6/latest.rpm
- 安装 php5.5
yum install -y http php55w php55w-soap php55w-bcmath php55w-cli php55w-fpm \
php55w-common php55w-devel php55w-gd php55w-imap php55w-mysql php55w-odbc \
php55w-ldap php55w-mbstring php55w-mcrypt php55w-xml php55w-intl php55w-pdo\
php55w-pear php55w-pecl-igbinary php55w-xmlrpc php55w-opcache php55w-pecl-memcache
6.配置 php
- vim /etc/php.ini
post_max_size=16M
max_execution_time=300
max_input_time=300
date.timezone=Asia/Shanghai
always_populate_raw_post_data=-1
- 快速设置
sed -i "s/post_max_size.*/post_max_size=16M/" /etc/php.ini
sed -i "s/max_execution_time.*/max_execution_time=300/" /etc/php.ini
sed -i "s/max_input_time.*/max_input_time=300/" /etc/php.ini
sed -i "s#;date.timezone.*#date.timezone=Asia/Shanghai#" /etc/php.ini
- /etc/php-fpm.d/www.conf
[global]
log_level = debug
[www]
;listen = /tmp/php-cgi.sock
listen = 127.0.0.1:9000
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 6
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = /data/log/php-fpm/php_slow.log
7.安装 zabbix
- 设置用户和组
groupadd zabbix
useradd -g zabbix zabbix
- 安装yum源和 zabbix 包
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/6/x86_64/zabbix-release-3.0-1.el6.noarch.rpm
yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-get zabbix-agent \
zabbix-java-gateway zabbix-proxy-mysql zabbix-sender
8.配置 zabbix
- 把zabbix数据导入zabbix
zcat /usr/share/doc/zabbix-server-mysql-3.0.4/create.sql.gz |mysql -uzabbix -pzabbix zabbix
- 修改Zabbix Server配置
vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
- 快速设置
# sed -i "s/# DBHost/DBHost/g" zabbix_server.conf
# sed -i "s/# DBPassword=/DBPassword=zabbix/g" zabbix_server.conf
- 设置权限,并把zabbix的php文件放到web目录
chown www.www -R /etc/zabbix/
cp -r /usr/share/zabbix/ /data/www/
9.安装nginx
- yum安装
yum install -y nginx
-
修改配置文件,设置root目录为
/data/www
,设置php解析 -
修改各组件权限为
nginx
用户
10.启动并访问
/etc/init.d/nginx start
/etc/init.d/php-fpm start
/etc/init.d/zabbix-server start
看到如下界面即安装成功
Paste_Image.png- 最后设置下精简开机:
for i in `chkconfig --list|grep "3:on"|awk '{print $1}'|grep -vE "crond|sshd|network|rsyslog|sysstat|zabbix-server|zabbix-agent"`;do chkconfig $i off;done