设为首页 收藏本站
查看: 1288|回复: 0

[经验分享] zabbix 安装指导手册

[复制链接]

尚未签到

发表于 2019-1-19 07:41:48 | 显示全部楼层 |阅读模式
前言
     在安全监控领域有很多的开源监控软件,例如zabbix,nagios,open-falcon,prometheus等众多软件。这些软件各有各的特点,基本上都能够满足日常的运维工作需要。同时在大的互联网公司一般都会根据自己的实际业务需求进行定制的监控系统开发,例如open-falcon就是小米公司自己的开源的监控系统。而且,在集群规模达到一定的数量级之后,一套监控系统应该已经不能满足生产需要,通常都会有多套监控系统一起协作来完成日常监控工作。
   今天主要介绍的就是zabbix的安装和使用。接下来会向大家介绍,如何安装zabbix以及如何对zabbix进行初始化设置。

下载
     百度搜索zabbix,就可以进入到zabbix的官方网站。进入到下载目录,可以看到这里有很多的版本可以下载。

     我们选择最新的版本进行下载,点击链接进入列表页。这里列举了非常多的下载项,并且提供了很多的版本。对于初学者来说,需要下载哪些内容,并不是容易确定下来,但是却可以通过这个列表了解到,如果想要完整的运行zabbix都需要依赖哪些模块。  
   很幸运的是,zabbix提供一个非常好的安装方式,我们只下载箭头指向的那一个rpm安装包就可以。

     使用rpm命令安装一下下载的安装包。然后使用 rpm -ql zabbix-release 命令查看一下安装的文件。

[root@localhost ]# rpm -ql zabbix-release
/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
/etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
/etc/yum.repos.d/zabbix.repo
/usr/share/doc/zabbix-release-3.4
/usr/share/doc/zabbix-release-3.4/GPL

     我们看到安装了一个repo文件,这说明,我们接下来可以使用yum 来安装我们所需要的模块。  
   接下来我们就开始准备安装zabbix了。安装开始之前,请先关闭掉SELinux,以及iptables。

安装Mariadb
     zabbix采集的数据需要存储在数据库中,同时zabbix 的成功运行也需要数据库的支持,所以我们需要先安装mysql数据库。

yum install mariadb mariadb-server

     修改mysql的配置文件,编辑 /etc/my.cnf.d/server.cnf。在server 模块下加入下面一些配置。具体配置的含义,可以查阅mysql的相关资料进行了解。

[server]
skip_name_resolve = ON
innodb_file_per_table = ON
innodb_buffer_pool_size = 256M
max_connections = 2000
# 启用二进制日志
log-bin = master-log
     数据库安装成功之后,可以执行一下mysql_secure_installation 来对数据库进行安装初始化。然后使用 systemctl start mariadb.service 来启动MySQL。
     接下来,我们在mysql中创建用于zabbix 使用的数据库。

CREATE DATABASE zbxdb CHARACTER SET 'utf8';
GRANT ALL PRIVILEGES ON zbxdb.* TO 'zbxuser'@'192.168.0.%' IDENTIFIED BY 'zbxpass';
FLUSH PRIVILEGES;

安装zabbix 相关组件
     zabbix 是基于C/S架构的一款监控软件。同时提供了web端的监控界面。也就是说,在被监控主机上,agent端能够主动地向server端send数据,而server端也可以主动向agent端去get数据,因此我们需要安装下面一些基本组件。

yum install zabbix-server-mysql zabbix-web zabbix-web-mysql zabbix-agent zabbix-get zabbix-sender
     使用rpm 命令 rpm -ql zabbix-server-mysql查看一下 zabbix-server-mysql 的安装文件。

... ...
/usr/share/doc/zabbix-server-mysql-3.4.5/create.sql.gz  
... ...

     将这个压缩包进行解压,我们可以使用head 命令来查看文件中内容。

[root@localhost ~]# gzip -d create.sql.gz
[root@localhost ~]# head -20 create.sql
CREATE TABLE `users` (
`userid`                 bigint unsigned                           NOT NULL,
`alias`                  varchar(100)    DEFAULT ''                NOT NULL,
`name`                   varchar(100)    DEFAULT ''                NOT NULL,
`surname`                varchar(100)    DEFAULT ''                NOT NULL,
`passwd`                 char(32)        DEFAULT ''                NOT NULL,
`url`                    varchar(255)    DEFAULT ''                NOT NULL,
`autologin`              integer         DEFAULT '0'               NOT NULL,
`autologout`             varchar(32)     DEFAULT '15m'             NOT NULL,
`lang`                   varchar(5)      DEFAULT 'en_GB'           NOT NULL,
`refresh`                varchar(32)     DEFAULT '30s'             NOT NULL,
`type`                   integer         DEFAULT '1'               NOT NULL,
`theme`                  varchar(128)    DEFAULT 'default'         NOT NULL,
`attempt_failed`         integer         DEFAULT 0                 NOT NULL,
`attempt_ip`             varchar(39)     DEFAULT ''                NOT NULL,
`attempt_clock`          integer         DEFAULT 0                 NOT NULL,
`rows_per_page`          integer         DEFAULT 50                NOT NULL,
PRIMARY KEY (userid)
) ENGINE=InnoDB;
CREATE UNIQUE INDEX `users_1` ON `users` (`alias`);

     可以看出这是zabbix的建表语句。所以我们直接在之前创建的数据库中创建zabbix运行所需要的数据库表就可以。

mysql -uzbxuser -h192.168.0.19 -pzbxpass  zbxdb < create.sql  

修改zabbix配置文件
  &emsp;&emsp; 进入到 /etc/zabbix目录下,编辑zabbix-server.conf文件。将与数据库相关的内容都进行修改一下。


# 发起数据采集请求的主机ip地址
SourceIP=192.168.0.19
# 这一点很重要 需要根据创建数据库时指定的权限来指定
DBHost=192.168.0.19
DBName=zbxdb
DBUser=zbxuer
DBPassword=zbxpass

  &emsp;&emsp; 可以通过相关的命令来查看 zabbix 的配置文件中一共有哪些配置,以便对zabbix有一个全面的了解。


[root@localhost zabbix]# grep -i "^###" zabbix_server.conf
############ GENERAL PARAMETERS #################
### Option: ListenPort
### Option: SourceIP
### Option: LogType
### Option: LogFile
### Option: LogFileSize
### Option: DebugLevel
### Option: PidFile
### Option: SocketDir
### Option: DBHost
### Option: DBName
### Option: DBSchema
### Option: DBUser
### Option: DBPassword
### Option: DBSocket
### Option: DBPort
### Option: HistoryStorageURL
### Option: HistoryStorageTypes
############ ADVANCED PARAMETERS ################
### Option: StartPollers
### Option: StartIPMIPollers
### Option: StartPreprocessors
### Option: StartPollersUnreachable
### Option: StartTrappers
### Option: StartPingers
### Option: StartDiscoverers
### Option: StartHTTPPollers
### Option: StartTimers
### Option: StartEscalators
### Option: StartAlerters
### Option: JavaGateway
### Option: JavaGatewayPort
### Option: StartJavaPollers
### Option: StartVMwareCollectors
### Option: VMwareFrequency
### Option: VMwarePerfFrequency
### Option: VMwareCacheSize
### Option: VMwareTimeout
### Option: SNMPTrapperFile
### Option: StartSNMPTrapper
### Option: ListenIP
### Option: HousekeepingFrequency
### Option: MaxHousekeeperDelete
### Option: CacheSize
### Option: CacheUpdateFrequency
### Option: StartDBSyncers
### Option: HistoryCacheSize
### Option: HistoryIndexCacheSize
### Option: TrendCacheSize
### Option: ValueCacheSize
### Option: Timeout
### Option: TrapperTimeout
### Option: UnreachablePeriod
### Option: UnavailableDelay
### Option: UnreachableDelay
### Option: AlertScriptsPath
### Option: ExternalScripts
### Option: FpingLocation
### Option: Fping6Location
### Option: SSHKeyLocation
### Option: LogSlowQueries
### Option: TmpDir
### Option: StartProxyPollers
### Option: ProxyConfigFrequency
### Option: ProxyDataFrequency
### Option: AllowRoot
### Option: User
### Option: Include
### Option: SSLCertLocation
### Option: SSLKeyLocation
### Option: SSLCALocation
####### LOADABLE MODULES #######
### Option: LoadModulePath
### Option: LoadModule
####### TLS-RELATED PARAMETERS #######
### Option: TLSCAFile
### Option: TLSCRLFile
### Option: TLSCertFile
### Option: TLSKeyFile

  &emsp;&emsp; 接下来就可以直接启动zabbix,使用 systemctl start zabbix-server.service。
  &emsp;&emsp; 剩下的还有一个非常重要的关键点。通过rpm -ql zabbix-web命令可以查看到web界面的安装文件。我们需要对zabbix-web设置时区。我们可以在zabbix-web的配置文件中进行设定,/etc/httpd/conf.d/zabbix.conf,这样设置的时区仅仅对zabbix的应用有效。当然也可以在PHP的配置文件中进行设定,这样的话,对于所有的PHP程序都有效。我们就在php的配置文件/etc/php.ini中进行设置。

date.timezone = Asia/Shanghai

初始化zabbix-web
  &emsp;&emsp; zabbix-web的运行需要http服务的支持。所以在安装zabbix的时候,如果没有安装httpd的话,会自动进行安装。所以我还需要启动httpd。

systemctl start httpd.service
  &emsp;&emsp; 启动浏览器,在地址栏输入http://192.168.0.19/zabbix/就可以看到下面的界面。

  &emsp;&emsp; 接下来就是检查zabbix安装过程中的需要的检查项,尤其是时区,这里最容易出现问题。

  &emsp;&emsp; 然后就是这只zabbix数据库的相关内容,这里的设置一定要与zabbix的配置文件中数据库信息一致。

  &emsp;&emsp; 接下来就是zabbix服务的相关信息。然后一路安装就可以了。



  &emsp;&emsp; 这样就zabbix就安装成功了。接下来使用admin/zabbix 就可以成功登陆zabbix的web管理界面了。


总结
  &emsp;&emsp; 这里只是介绍了zabbix的安装。详细记录了安装过程中的每一步操作,以及应该注意的细节。可以将此博客作为zabbix的安装手册来进行使用。在以后的文章中,会介绍zabbix的详细使用。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-664968-1-1.html 上篇帖子: zabbix 3.4.16 zabbix server is not running the in-win2003FTP服务器 下篇帖子: zabbix 批量web url监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表