Zabbix是目前最主流的开源监控方案之一。本文详细介绍了Zabbix的安装和部署实践。有兴趣的朋友可以参考一下。
前言
Zabbix是目前最主流的开源监控方案之一。部署本身不难,难的是深入理解。根据生产环境中的实践,从新版本Zabbix4.0LTS开始,全部由Docker部署。相信在未来,会有越来越多的开源组件以容器的形式呈现在我们面前。
*** 作系统:
[root@mysql~]#cat/etc/redhat-release CentOSLinuxrelease7.5.1804(Core)Mysql:版本5.7.23192.168.75.251
Zabbix服务器:版本3.4.12192.168.75.250
一、安装Mysql
1.1下载mysql
#systemctlstopfirewalld #systemctldisablefirewalld vi/etc/selinux/config SELINUX=enforcing改为SELINUX=disabledCentos7默认数据库是mariadb,请先卸载。
rpm–qa|grepmariadb mariadb-libs-5.5.56-2.el7.x86_64 rpm-e--nodepsmariadb-libs-5.5.56-2.el7.x86_64这个版本需要boost1.9,需要下载。
[root@mysqlsoft]#ll total132444 -rw-r--r--1rootroot83709983Aug1010:26boost_1_59_0.tar.gz -rw-r--r--1rootroot51907462Aug1010:26mysql-5.7.23.tar.gz添加mysql用户,
groupaddmysql useradd-gmysql-s/sbin/nologinmysql1.2安装依赖包
yuminstall-ycmakebisonbison-devellibaio-develgccgcc-c++gitncurses-devel
1.3编译
解压mysql,将boost的压缩版本放入解压后的mysql目录中。
tarxzvfmysql-5.7.23.tar.gz mvboost_1_59_0.tar.gzmysql-5.7.23进入MySQL源目录,创建configure作为编译目录,输入目标。
cdmysql-5.7.23 mkdirconfigure cdconfigure使用cmake构建编译环境,
cmake..-DBUILD_CONFIG=mysql_release\ -DINSTALL_LAYOUT=STANDALONE\ -DCMAKE_BUILD_TYPE=RelWithDebInfo\ -DENABLE_DTRACE=OFF\ -DWITH_EMBEDDED_SERVER=OFF\ -DWITH_INNODB_MEMCACHED=ON\ -DWITH_SSL=bundled\ -DWITH_ZLIB=system\ -DWITH_PAM=ON\ -DCMAKE_INSTALL_PREFIX=/var/mysql/\ -DINSTALL_PLUGINDIR="/var/mysql/lib/plugin"\ -DDEFAULT_CHARSET=utf8\ -DDEFAULT_COLLATION=utf8_general_ci\ -DWITH_EDITLINE=bundled\ -DFEATURE_SET=community\ -DCOMPILATION_COMMENT="MySQLServer(GPL)"\ -DWITH_DEBUG=OFF\ -DWITH_BOOST=..固定
制造和销售。&进行安装
vim/etc/my.cnf [mysqld] datadir=/var/lib/mysql socket=/var/mysql/mysql.sock port=3306 log_error=/var/mysql/log/error.log basedir=/var/mysql/ [client] socket=/var/mysql/mysql.sock chownmysql.mysql/etc/my.cnf创建日志文件
mkdir-p/var/mysql/log touch/var/mysql/log/error.log touch/var/mysql/mysql.sock chown-Rmysql.mysql/var/mysql/1.4初始化
#/var/MySQL/bin/mysqld-initialize-user=MySQL
检查数据文件是否已生成。
#ll/var/lib/mysql total110628 -rw-r-----1mysqlmysql56Aug1011:06auto.cnf -rw-r-----1mysqlmysql417Aug1011:06ib_buffer_pool -rw-r-----1mysqlmysql12582912Aug1011:06ibdata1 -rw-r-----1mysqlmysql50331648Aug1011:06ib_logfile0 -rw-r-----1mysqlmysql50331648Aug1011:06ib_logfile1 drwxr-x---2mysqlmysql4096Aug1011:06mysql drwxr-x---2mysqlmysql8192Aug1011:06performance_schema drwxr-x---2mysqlmysql8192Aug1011:06sys检查日志文件是否已生成。
#ll/var/mysql/log
临时密码生成放在error.log中
#cat/var/mysql/log/error.log 2019-11-18T09:06:22.922254Z0[Warning]TIMESTAMPwithimplicitDEFAULTvalueisdeprecated.Pleaseuse--explicit_defaults_for_timestampserveroption(seedocumentationformoredetails). 2019-11-18T09:06:24.600401Z0[Warning]InnoDB:Newlogfilescreated,LSN=45790 2019-11-18T09:06:24.853258Z0[Warning]InnoDB:Creatingforeignkeyconstraintsystemtables. 2019-11-18T09:06:24.915246Z0[Warning]NoexistingUUIDhasbeenfound,soweassumethatthisisthefirsttimethatthisserverhasbeenstarted.GeneratinganewUUID:5dbf9eac-9c4a-11e8-8768-000c29a48522. 2019-11-18T09:06:24.916709Z0[Warning]Gtidtableisnotreadytobeused.Table'mysql.gtid_executed'cannotbeopened. 2019-11-18T09:06:24.917772Z1[Note]Atemporarypasswordisgeneratedforroot@localhost:NS0+>RzwvHWl1.5开始
修改初始密码,修改环境变量
从模板文件中复制启动文件:
CP/var/MySQL/support-files/MySQL.server/etc/init.d/mysqld
修改启动文件:
vim/etc/init.d/mysqld
找到下面两行:
basedir=
数据目录=
修改为:
basedir=/var/mysql/ datadir=/var/lib/mysql更改权限
#chown-Rmysql.mysql/var/mysql/var/lib/mysql开始
/etc/init.d/mysqldstart ln-s/var/mysql/bin/mysql/usr/bin配置MySQL环境变量:
vim/root/。bash_profile
找到下面一行:
PATH=$PATH:$HOME/bin
修改为:
PATH=$PATH:$HOME/bin:/var/MySQL/bin
使用上面生成的临时密码登录。
#MySQL–uroot–pNS0+>;RzwvHWl
欢迎使用MySQLmonitor。命令以结尾;或者\g。
您的MySQL连接id是6
服务器版本:5.7.23
版权所有(c)2000,2018,Oracle和/或其附属公司。保留所有权利。
Oracle是OracleCorporation和/或其
附属公司。其他名称可能是其各自的商标
业主。
键入“help”或“\h”寻求帮助。键入'\c'清除当前的输入语句。
mysql>
更改初始密码
mysql>更改由“123456”标识的用户“root”@“localhost”;
二。安装Zabbix服务器
2.1安装php
安装PHP7.1版,zabbix3.0版需要php5.4及以上版本。
首先检查本地php版本
php-v
检查当前的php安装包。
yum列表已安装|grepphp
卸载本地php安装包。
yum删除php*
的默认yum源码无法升级PHP,需要添加第三方yum源码,所以选择webtatic库。
rpm-Uvhhttps://mirror.webtatic.com/yum/el7/epel-release.rpm rpm-Uvhhttps://mirror.webtatic.com/yum/el7/webtatic-release.rpm安装php7.1
yuminstall-yphp71w
安装相关插件。
yuminstall-yPHP71w-fpmPHP71w-opcachePHP71w-CLIPHP71w-GDPHP71w-IMAPPHP71w-mysqlndPHP71w-mbstringPHP71w-mcryptPHP71w-PDOPHP71w-pecl-apcuPHP71w-pecl-MongoDBPHP71w-pecl-redisPHP71w-pgsqlPHP71w-XMLPHP71w-xmlrpcPHP71w-develmod_PHP71wPHP71w-LDAPPHP71w-
修改PHP的配置参数
vim/etc/php.ini date.timezone=Asia/Shanghai max_execution_time=300 post_max_size=32M memory_limit=128M mbstring.func_overload=1 max_input_time=300调整会话权限,
chmod-R777/var/lib/PHP/session/
2.2安装zabbix
安装依赖包
yum-yinstallgcc*makecurlcurl-develnet-snmpnet-snmp-develperl-DBIhttpdmariadb*mysql-devellibxml2-develcurl-develunixODBC-develnet-snmp-develOpenIPMI-developenldapopenldap-devellibevent-develjava-devellibssh2-devel创建zabbix用户和组
groupaddzabbix useradd-gzabbixzabbix编译、安装
tarzxvfzabbix-3.4.12.tar.gz cdzabbix-3.4.12/ ./configure--prefix=/usr/local/zabbix--enable-server--enable-proxy--enable-agent--enable-ipv6--with-mysql--with-net-snmp--with-libcurl--with-openipmi--with-unixodbc--with-ldap--with-ssh2--enable-java make&&makeinstall chown-Rzabbix.zabbix/usr/local/zabbix修改zabbix配置文件
vi/usr/local/zabbix/etc/zabbix_server.conf LogFile=/tmp/zabbix_server.log DebugLevel=3 DBHost=192.168.75.251#server和数据库分离的写法 DBName=zabbix DBUser=zabbix DBPassword=zabbix DBSocket=/var/mysql/mysql.sock DBPort=3306 StartPollers=10 Timeout=4 AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts LogSlowQueries=3000 CacheSize=1024M后续配置文件的参数根据需要进行调整。
将zabbix包中的几个sql文件转移到上面的mysql服务器上,导入数据库文件。
[root@zabbix~]#cd/opt/soft/zabbix-3.4.12/database/mysql [root@zabbixmysql]#ll total4876 -rw-r--r--.1100110012877497Jul3019:41data.sql -rw-r--r--.1100110011978341Jul3019:41images.sql -rw-r--r--.110011001134791Jul3019:41schema.sql [root@zabbixmysql]#scp*root@192.168.75.251:/opt/在以下mysql(192.168.75.251)服务器上运行
#MySQL-uroot–p
输入密码:
创建一个字符集为utf8的zabbix数据库。
mysql>创建数据库zabbix字符集utf8collateutf8_bin
在mysql数据库中创建zabbix用户,赋予zabbix用户对zabbix数据库的完全权限,允许zabbix服务器远程访问mysql。
mysql>GRANTALLPRIVILEGESONzabbix.*TOzabbix@192.168.75.250IDENTIFIEDBY'zabbix'; mysql>GRANTALLPRIVILEGESONzabbix.*TOzabbix@localhostIDENTIFIEDBY'zabbix'; mysql>flushprivileges; mysql>showdatabases; +--------------------+ |Database| +--------------------+ |information_schema| |mysql| |performance_schema| |sys| |zabbix| +--------------------+ 5rowsinset(0.00sec)导入数据文件并在控制台中 *** 作。
#mysql-uzabbix-pzabbix<schema.sql #mysql-uzabbix-pzabbix<images.sql #mysql-uzabbix-pzabbix<data.sql2.3zabbixweb部署
回到Zabbix服务器主机 *** 作。在上面安装的httpd下创建zabbix目录,并创建apache。
mkdir/var/www/html/zabbix
将zabbix包中的web接口复制到apachezabbix目录中。
\cp–rf/opt/soft/zabbix-3.4.12/frontends/php/*/var/www/html/zabbix/配置web安全性
chown-Rapache.apache/var/www/html/zabbix chmoda+x/var/www/html/zabbix/conf/将zabbix包中的服务启动脚本(server/agentd)复制到linux系统服务启动目录中。
cp/opt/soft/zabbix-3.4.12/misc/init.d/fedora/core/zabbix_serverzabbix_agentd/etc/init.d/修改/etc/init.d/zabbix_server和/etc/init.d/zabbix_agentd
BASEDIR=/usr/local修改成 BASEDIR=/usr/local/zabbix/设置启动。
systemctlenablehttpd systemctlenablezabbix_server systemctlenablezabbix_agentd /etc/init.d/zabbix_serverstart /etc/init.d/zabbix_agentdstart systemctlstarthttpd2.4web服务初始化
http://192.168.75.250/zabbix/setup.PHP
数据库连接设置,写mysql服务器所在机器,端口,数据库名称,用户,密码。
三。安装Zabbix代理
首先在代理机上安装mysql,和上面的安装步骤一样,只是在导入mysql文件时,只导入一个文件。
#MySQL–uzabbix–pzabbix<;schema.sql
安装依赖包
yum-yinstallgcc*makecurlcurl-develnet-snmpnet-snmp-develperl-DBIhttpdmariadb*mysql-devellibxml2-develcurl-develunixODBC-develnet-snmp-develOpenIPMI-developenldapopenldap-devellibevent-develjava-devellibssh2-devel创建zabbix用户和组
groupaddzabbix useradd-gzabbixzabbix编译、安装
tarzxvfzabbix-3.4.12.tar.gz cdzabbix-3.4.12/ ./configure--prefix=/opt/server/zabbix_proxy--enable-proxy--enable-agent--enable-ipv6--with-mysql--with-net-snmp--with-libcurl--with-openipmi--with-unixodbc--with-ldap--with-ssh2--enable-java make&&makeinstall chown-Rzabbix.zabbix/opt/server/zabbix_proxy配置文件修改
Vi/usr/local/zabbix/etc/zabbix_proxy.conf Server=192.168.75.250 ServerPort=10051 Hostname=zabbix_proxy LogFile=/tmp/zabbix_proxy.log DBHost=localhost#因为mysql和proxy安装在同一台机器 DBName=zabbix DBUser=zabbix DBPassword=zabbix DBSocket=/var/mysql/mysql.sock ConfigFrequency=60 DataSenderFrequency=60 StartPollers=5 Timeout=4 LogSlowQueries=3000启动代理(添加到启动自启动中)
#/opt/server/zabbix_proxy/sbin/zabbix_proxy-c/opt/server/zabbix_proxy/etc/zabbix_proxy.conf systemctlenablezabbix_proxy四。启动zabbix_agentd客户端
同上。编译安装zabbix的时候,客户端也一起编译了。将/usr/local下的zabbix目录复制到客户端。
修改配置文件
vi/usr/local/zabbix/etc/zabbix_agentd.conf Server=zabbix_proxy_IP#建议所以客户端都挂在proxy上,扩展性强 Hostname=zabbix_agentd_hostname#填写客户端的主机名启动(添加到启动自启动中)
/usr/local/zabbix/sbin/zabbix_agentd-c/usr/local/zabbix/etc/zabbix_agentd.conf echo"/usr/local/agent/sbin/zabbix_agentd-c/usr/local/agent/etc/zabbix_agentd.conf">>/etc/rc.local五.网络管理
添加监控主机
选择主机监控模板。
主机监控成功。
摘要
以上是边肖介绍的Zabbix安装部署实践。希望对你有帮助。如果您有任何问题,请给我留言,边肖将及时回复您。非常感谢您对我们网站的支持!
如果你觉得这篇文章对你有帮助,请转载。请注明出处。谢谢大家!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)