zabbix真的很简单 (安装篇)
系统环境: Centos 6.4
一直觉得 zabbix 很简单,但是还是有好多人看了好多文档都搞不明白怎么用,我从2013年使用到现在也小有心得,如果时间允许,很高兴与大家一起分享我在使用过程中的一些小技巧和小经验。好了至于什么是zabbix之类的废话就不多说了,有兴趣可以看看别人写的,我只想说zabbix网上的文档真是好多好多好多....
咱们这次部署全程使用 yum ,我会简单说一下 yum 的配置。很多小伙伴都会问,不都是下载源码包装吗?或者下载 rpm 包装吗?我的 yum 里为什么没有 zabbix ?其实类似这种第三方软件,基本的 yum 软件源是不提供的,不过你可以增加 epel 源来安装,这里就不介绍 epel 啦,想详细了解的就自己去epel 官网看吧。
安装一套LAMP环境
yum -y install zlib-devel mysql-devel glibc-devel curl-devel gcc automake mysql libidn-devel openssl-devel net-snmp-devel rpm-devel OpenIPMI-devel httpd mysql-server php-gd php-mysql php-bcmath php-mbstring php-xml perl-DBI php
提示:以上相关软件直接可以通过centos自带的yum源安装,这个过程依据各自带宽而定。很慢~! 虽然版本偏低,但是对于部署来说足够了。
安装EPEL源
我们可以直接访问 http://download.fedoraproject.org/pub/epel/6/i386/repoview/epel-release.html 找到epel的安装包,右键复制地址,直接装就可以了。
rpm -ivh http://mirrors.zju.edu.cn/epel/6/i386/epel-release-6-8.noarch.rpm
提示:这里对epel里的zbx资源简单介绍一下,epel里zbx资源分为三个版本,1.8、2.0、2.2。官网目前最新版本是2.4,1.8建议你不要考虑了,我曾经在别人的机器上用过一下,trigger还不能手动编写,反正我是用不惯,2.0目前是我正在使用的版本,2.2让我感觉比较high的亮点功能就是对虚拟机的监控。在我眼里2.0、2.2 、2.4这三个版本其实在使用上没啥太大的区别,安装方式也是一样的。
安装ZABBIX
这里先为大家显示一下,一个Zabbix Server所需要的安装包
$yum search zabbix22 | awk -F":" '/zabbix22/&&!/pgsql|Matched|sqlite|proxy/{print $1}'
zabbix22.x86_64
zabbix22-agent.x86_64
zabbix22-dbfiles-mysql.noarch
zabbix22-server.noarch
zabbix22-server-mysql.x86_64
zabbix22-web.noarch
zabbix22-web-mysql.noarch
很多文档直接就装了,也不说这玩意都是什么东西,所以今天就说点废话,主要是针对新手向,老手可以绕行。以下只是简单的介绍,具体包里都包含什么文件,有兴趣的话,可以自己rpm -ql翻看,反正偶是没兴趣。
zabbix22.x86_64 #zabbix主程序
zabbix22-agent.x86_64 #zabbix客户端程序
zabbix22-dbfiles-mysql.noarch #zabbix22 mysql数据库文件
zabbix22-server.noarch #Server服务端程序
zabbix22-server-mysql.x86_64 #Server连接mysql程序
zabbix22-web.noarch #web前端php程序
zabbix22-web-mysql.noarch #web前端php连接mysql数据库
复制粘贴回车你懂的
yum -y install $(yum search zabbix22 | awk -F":" '/zabbix22/&&!/pgsql|Matched|sqlite|proxy/{print $1}')
这里说一下我理解的 zabbix 的结构,zabbix 分为 Server 端和 Agent 端(大家都知道的,不用你废话。**-_-!!**),Agent 负责采集监控数据传送到 Server 端,Server 端负责将采集的数据保存到数据库中,还有一个很多时候大家都忽略的部分,就是 zabbix 通过前端 WEB 页面调用 php,将监控数据值从数据库中提取出来并进行前端展示。所以有时候排查故障的一定要先确定故障点是在前端,还是在后端。学会缩小范围按步骤排查故障。
以上安装我过滤掉了 zabbix 使用pgsql数据库的程序, sqlite 数据库程序和 proxy 程序。帮朋友排查 zabbix 问题的时候,发现好多都是装的 mysql 数据库,zabbix 装的是 pgsql 数据库连接程序,导致 zabbix 数据库怎么也连不上。所以在这里给大家提个醒,注意自己装的程序是否符合自己的环境。
以上步骤完后所有需要创建的系统账号比如 mysql,zabbix服务的启动脚本,包括 httpd 关于 zabbix 访问的配置文件,都已经为你配置好了。你可以通过查看/etc/httpd/conf.d/zabbix.conf 文件找到前端页面访问的具体位置。(这就是偶稀饭yum的原因!!)
启动数据库
service mysqld start
创建数据库
mysql << EOF
create database zabbix character set utf8;
grant all on zabbix.* to zabbix@localhost identified by '123456';
quit
EOF
提示:这里数据库一定要指定字符集,要不在前端历史操作是乱码,因为历史操作是保存在数据库里的。
导入数据库
mysql -uzabbix -p123456 zabbix < /usr/share/zabbix-mysql/schema.sql
mysql -uzabbix -p123456 zabbix < /usr/share/zabbix-mysql/images.sql
mysql -uzabbix -p123456 zabbix < /usr/share/zabbix-mysql/data.sql
提示:以上数据库一定要按照顺序导入
配置zabbix_server访问数据库的账号和密码
sed -i '/^DBName/s/=.*$/=zabbix/' /etc/zabbix_server.conf
sed -i '/^# DBPassword/s/.*$/DBPassword=123456/' /etc/zabbix_server.conf
修改php.ini
sed -i 's/post_max_size = 8M/post_max_size = 32M/g' /etc/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /etc/php.ini
sed -i 's/;date.timezone =/date.timezone = Asia\/Shanghai/' /etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 600/g' /etc/php.ini
sed -i 's/max_input_time = 60/max_input_time = 600/g' /etc/php.ini
sed -i 's/memory_limit = 128M/memory_limit = 256M/g' /etc/php.ini
提示:我这里只是修改了 zabbix 初始化php配置时需要检测默认配置参数,大家可以根据自己实际情况调整 php.ini 参数
简单的配置服务
chkconfig --level 345 zabbix-server on
chkconfig --level 345 zabbix-agent on
setenforce 0
service zabbix-server start
service zabbix-agent start
提示:不稀饭 selinux,所以我都关掉。
登录
现在可以通过http://ip/zabbix 来访问了,第一次会初始化一些配置,主要还是配置 php.ini 的参数和php访问数据库的账号和密码。基本上一路Next就ok了。
zabbix真的很简单 (安装篇)的更多相关文章
- HTTP真的很简单
原文:HTTP Made Really Easy因为我本身网络基础就很差,所以看到这篇文章一方面是学习网络知识,另一方面为了锻炼我蹩脚的英语水平,文中如有错误,欢迎浏览指正! 前言 在看这篇文章的时候 ...
- HTTP真的很简单(转)
原文:HTTP Made Really Easy因为我本身网络基础就很差,所以看到这篇文章一方面是学习网络知识,另一方面为了锻炼我蹩脚的英语水平,文中如有错误,欢迎浏览指正! 前言 在看这篇文章的时候 ...
- shell编程其实真的很简单(一)
如今,不会Linux的程序员都不意思说自己是程序员,而不会shell编程就不能说自己会Linux.说起来似乎shell编程很屌啊,然而不用担心,其实shell编程真的很简单. 背景 什么是shell编 ...
- shell编程其实真的很简单(四)
上篇我们学习了shell中条件选择语句的用法.接下来本篇就来学习循环语句.在shell中,循环是通过for, while, until命令来实现的.下面就分别来看看吧. for for循环有两种形式: ...
- 写你的shell,其实很简单[架构篇]
引语:我本人以前并没有写过shell脚本,也许是因为懒,也许是没有被逼到要去写shell的地步.但是,前段时间,工作需求,要求重新跑几个月的脚本,这些脚本是每天定时进行跑的,而且每天是好几个脚本一起关 ...
- shell编程其实真的很简单(二)
上篇我们学会了如何使用及定义变量.按照尿性,一般接下来就该学基本数据类型的运算了. 没错,本篇就仍是这么俗套的来讲讲这无聊但又必学的基本数据类型的运算了. 基本数据类型运算 操作符 符号 语义 描述 ...
- shell编程其实真的很简单(五)
通过前几篇文章的学习,我们学会了shell的基本语法.在linux的实际操作中,我们经常看到命令会有很多参数,例如:ls -al 等等,那么这个参数是怎么处理的呢? 接下来我们就来看看shell脚本对 ...
- shell编程其实真的很简单(三)
通过前两篇文章,我们掌握了shell的一些基本写法和变量的使用,以及基本数据类型的运算.那么,本次就将要学习shell的结构化命令了,也就是我们其它编程语言中的条件选择语句及循环语句. 不过,在学习s ...
- 如果你这么去理解HashMap就会发现它真的很简单
Java中的HashMap相信大家都不陌生,也是大家编程时最常用的数据结构之一,各种面试题更是恨不得掘地三尺的去问HashMap.HashTable.ConcurrentHashMap,无论面试题多么 ...
随机推荐
- Python分布式爬虫必学框架Scrapy打造搜索引擎 学习教程
Python分布式爬虫打造搜索引擎Scrapy精讲—用Django实现搜索的自动补全功能 elasticsearch(搜索引擎)提供了自动补全接口 1.创建搜索自动补全字段suggest自动补全需要用 ...
- tensorflow学习框架(炼数成金网络版学习记录)
chapter1 #变量 import tensorflow as tf x = tf.Variable([1,2]) a = tf.constant([3,3]) #增加一个减法op sub = t ...
- spring cloud gateway获取response body
网关发起请求后,微服务返回的response的值要经过网关才发给客户端.本文主要讲解在spring cloud gateway 的过滤器中获取微服务的返回值,因为很多情况我们需要对这个返回进行处理.网 ...
- Java连接SQL Server:jTDS驱动兼容性问题
Java连接SQL Server 2000数据库时,有两种方法: (1)通过Microsoft的JDBC驱动连接.此JDBC驱动共有三个文件,分别是mssqlserver.jar.msutil.jar ...
- Android应用程序开发中碰到的错误和获得的小经验
1,Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE Description:这表示手机内存不足,对内存较小的手机经常会出现这样的问题,从 ...
- Shell06--数组应用
目录 Shell06---数组应用 1. 数组基本概述 2. 数组基本使用 3. 数组遍历与循环 Shell06---数组应用 1. 数组基本概述 01. 什么是数组? 数组其实也算是变量,传统的变量 ...
- 激活密钥许可证VMware Workstation Pro 15 激活许可证
虚拟机 VMware Workstation Pro 15.5.0 及永久激活密钥 虚拟机下载地址:https://download3.vmware.com/software/wkst/file/VM ...
- BZOJ-2337 XOR和路径(HNOI2011)概率DP+概率的线性叠加
题意:给出n个点和m条边,每条边有权值wi,从1出发,每次等概率选一条出边走,直到终点n停止,得到的值是路径所有边的异或和.问异或和期望. 解法:这道题非常有意思!首先比较直观的想法就是dp[x]代表 ...
- neuoj Blurred Pictures(小思维题
https://oj.neu.edu.cn/problem/1505 题意:一张由n*n的照片,每行从第ai个像素点到第bi个像素点是非模糊点,要求找出最大的正方形,该正方形中的像素都是非模糊点. 思 ...
- P与C
P是排列:与次序有关,P(5.3)=5*4*3 C是组合:与次序无关,C(5.3)=(5*4*3)/(3*2*1)