Zabbix搭建笔记(三)
上一篇链接zabbix搭建笔记(二)
通过ansible批量部署agent
1、配置主界面中文显示
配置完成,发现监控图形界面,文字呈方块显示
相关的配置不做展示了,直接贴解决流程
这个问题的原因是zabbix 没有自带的前端中文字体
咋们作为初学者,没必要完全掌握zabbix完全安装的目录结构,知道问题原因就好解决了。
首先找到zabbix fonts目录
find / -name fonts
#输出结果如下
/etc/fonts
/usr/include/X11/fonts
/usr/share/fonts
/usr/share/zabbix/assets/fonts #很明显zabbix fonts地址在这里
/usr/share/httpd/noindex/css/fonts
/usr/share/grafana/public/fonts
/usr/share/X11/fonts
/boot/grub2/fonts
#进去从windows上传中文字体到目录即可
#默认会有原生自带字体和建立的软连接,根据软连接提示,删除或备份相关文件
#在修改zabbix php配置
define('ZBX_GRAPH_FONT_NAME', 'graphfont'); ===>> define('ZBX_GRAPH_FONT_NAME', 'simsun');
define('ZBX_FONT_NAME', 'graphfont'); ===>> define('ZBX_FONT_NAME', 'simsun');
#接下来刷新页面即恢复了
agent 安装准备
agent 安装包准备
官网下载zabbix agent2 安装包
# This is a configuration file for Zabbix agent 2 (Unix)
# To get more information about Zabbix, visit http://www.zabbix.com
############ GENERAL PARAMETERS #################
### Option: PidFile
# Name of PID file.
#
# Mandatory: no
# Default:
#PidFile=/tmp/zabbix_agent2.pid
PidFile=/var/run/zabbix/zabbix_agent2.pid
### Option: LogType
# Specifies where log messages are written to:
# system - syslog
# file - file specified with LogFile parameter
# console - standard output
#
# Mandatory: no
# Default:
# LogType=file
### Option: LogFile
# Log file name for LogType 'file' parameter.
#
# Mandatory: yes, if LogType is set to file, otherwise no
# Default:
# LogFile=
LogFile=/var/log/zabbix/zabbix_agent2.log
### Option: LogFileSize
# Maximum size of log file in MB.
# 0 - disable automatic log rotation.
#
# Mandatory: no
# Range: 0-1024
# Default:
# LogFileSize=1
LogFileSize=0
### Option: DebugLevel
# Specifies debug level:
# 0 - basic information about starting and stopping of Zabbix processes
# 1 - critical information
# 2 - error information
# 3 - warnings
# 4 - for debugging (produces lots of information)
# 5 - extended debugging (produces even more information)
#
# Mandatory: no
# Range: 0-5
# Default:
# DebugLevel=3
### Option: SourceIP
# Source IP address for outgoing connections.
#
# Mandatory: no
# Default:
# SourceIP=
##### Passive checks related
### Option: Server
# List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
# Incoming connections will be accepted only from the hosts listed here.
# If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally
# and '::/0' will allow any IPv4 or IPv6 address.
# '0.0.0.0/0' can be used to allow any IPv4 address.
# Example: Server=111.231.27.149,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
#
# Mandatory: yes, if StartAgents is not explicitly set to 0
# Default:
# Server=
Server=zabbix server ip#被动模式
### Option: ListenPort
# Agent will listen on this port for connections from the server.
#
# Mandatory: no
# Range: 1024-32767
# Default:
# ListenPort=10050
### Option: ListenIP
# List of comma delimited IP addresses that the agent should listen on.
# First IP address is sent to Zabbix server if connecting to it to retrieve list of active checks.
#
# Mandatory: no
# Default:
# ListenIP=0.0.0.0
### Option: StatusPort
# Agent will listen on this port for HTTP status requests.
#
# Mandatory: no
# Range: 1024-32767
# Default:
# StatusPort=
##### Active checks related
### Option: ServerActive
# List of comma delimited IP:port (or DNS name:port) pairs of Zabbix servers and Zabbix proxies for active checks.
# If port is not specified, default port is used.
# IPv6 addresses must be enclosed in square brackets if port for that host is specified.
# If port is not specified, square brackets for IPv6 addresses are optional.
# If this parameter is not specified, active checks are disabled.
# Example: ServerActive=111.231.27.149:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
#
# Mandatory: no
# Default:
# ServerActive=
ServerActive=zabbix server ip #主动模式
### Option: Hostname
# Unique, case sensitive hostname.
# Required for active checks and must match hostname as configured on the server.
# Value is acquired from HostnameItem if undefined.
#
# Mandatory: no
# Default:
# Hostname=
#Hostname=Zabbix server
### Option: HostnameItem
# Item used for generating Hostname if it is undefined. Ignored if Hostname is defined.
# Does not support UserParameters or aliases.
#
# Mandatory: no
# Default:
HostnameItem=system.hostname #自动填充 hostname名
### Option: HostMetadata
# Optional parameter that defines host metadata.
# Host metadata is used at host auto-registration process.
# An agent will issue an error and not start if the value is over limit of 255 characters.
# If not defined, value will be acquired from HostMetadataItem.
#
# Mandatory: no
# Range: 0-255 characters
# Default:
#HostMetadata=Linux #元数据 自动注册需要
### Option: HostMetadataItem
# Optional parameter that defines an item used for getting host metadata.
# Host metadata is used at host auto-registration process.
# During an auto-registration request an agent will log a warning message if
# the value returned by specified item is over limit of 255 characters.
# This option is only used when HostMetadata is not defined.
#
# Mandatory: no
# Default:
HostMetadataItem=system.uname #元数据,同上个配置项冲突
### Option: HostInterface
# Optional parameter that defines host interface.
# Host interface is used at host auto-registration process.
# An agent will issue an error and not start if the value is over limit of 255 characters.
# If not defined, value will be acquired from HostInterfaceItem.
#
# Mandatory: no
# Range: 0-255 characters
# Default:
# HostInterface=
### Option: HostInterfaceItem
# Optional parameter that defines an item used for getting host interface.
# Host interface is used at host auto-registration process.
# During an auto-registration request an agent will log a warning message if
# the value returned by specified item is over limit of 255 characters.
# This option is only used when HostInterface is not defined.
#
# Mandatory: no
# Default:
# HostInterfaceItem=
### Option: RefreshActiveChecks
# How often list of active checks is refreshed, in seconds.
#
# Mandatory: no
# Range: 60-3600
# Default:
# RefreshActiveChecks=120
### Option: BufferSend
# Do not keep data longer than N seconds in buffer.
#
# Mandatory: no
# Range: 1-3600
# Default:
# BufferSend=5
### Option: BufferSize
# Maximum number of values in a memory buffer. The agent will send
# all collected data to Zabbix Server or Proxy if the buffer is full.
# Option is not valid if EnablePersistentBuffer=1
#
# Mandatory: no
# Range: 2-65535
# Default:
# BufferSize=100
### Option: EnablePersistentBuffer
# Enable usage of local persistent storage for active items.
# 0 - disabled, in-memory buffer is used (default); 1 - use persistent buffer
# Mandatory: no
# Range: 0-1
# Default:
# EnablePersistentBuffer=0
### Option: PersistentBufferPeriod
# Zabbix Agent2 will keep data for this time period in case of no
# connectivity with Zabbix server or proxy. Older data will be lost. Log data will be preserved.
# Option is valid if EnablePersistentBuffer=1
#
# Mandatory: no
# Range: 1m-365d
# Default:
# PersistentBufferPeriod=1h
### Option: PersistentBufferFile
# Full filename. Zabbix Agent2 will keep SQLite database in this file.
# Option is valid if EnablePersistentBuffer=1
#
# Mandatory: no
# Default:
# PersistentBufferFile=
############ ADVANCED PARAMETERS #################
### Option: Alias
# Sets an alias for an item key. It can be used to substitute long and complex item key with a smaller and simpler one.
# Multiple Alias parameters may be present. Multiple parameters with the same Alias key are not allowed.
# Different Alias keys may reference the same item key.
# For example, to retrieve the ID of user 'zabbix':
# Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1]
# Now shorthand key zabbix.userid may be used to retrieve data.
# Aliases can be used in HostMetadataItem but not in HostnameItem parameters.
#
# Mandatory: no
# Range:
# Default:
### Option: Timeout
# Spend no more than Timeout seconds on processing
#
# Mandatory: no
# Range: 1-30
# Default:
# Timeout=3
### Option: Include
# You may include individual files or all files in a directory in the configuration file.
# Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time.
#
# Mandatory: no
# Default:
# Include=
Include=/etc/zabbix/zabbix_agent2.d/*.conf
# Include=/usr/local/etc/zabbix_agentd.userparams.conf
# Include=/usr/local/etc/zabbix_agentd.conf.d/
# Include=/usr/local/etc/zabbix_agentd.conf.d/*.conf
####### USER-DEFINED MONITORED PARAMETERS #######
### Option: UnsafeUserParameters
# Allow all characters to be passed in arguments to user-defined parameters.
# The following characters are not allowed:
# \ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
# Additionally, newline characters are not allowed.
# 0 - do not allow
# 1 - allow
#
# Mandatory: no
# Range: 0-1
# Default:
# UnsafeUserParameters=0
### Option: UserParameter
# User-defined parameter to monitor. There can be several user-defined parameters.
# Format: UserParameter=<key>,<shell command>
# See 'zabbix_agentd' directory for examples.
#
# Mandatory: no
# Default:
# UserParameter=
### Option: ControlSocket
# The control socket, used to send runtime commands with '-R' option.
#
# Mandatory: no
# Default:
# ControlSocket=
ControlSocket=/tmp/agent.sock
####### TLS-RELATED PARAMETERS #######
### Option: TLSConnect
# How the agent should connect to server or proxy. Used for active checks.
# Only one value can be specified:
# unencrypted - connect without encryption
# psk - connect using TLS and a pre-shared key
# cert - connect using TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
# TLSConnect=unencrypted
### Option: TLSAccept
# What incoming connections to accept.
# Multiple values can be specified, separated by comma:
# unencrypted - accept connections without encryption
# psk - accept connections secured with TLS and a pre-shared key
# cert - accept connections secured with TLS and a certificate
#
# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
# Default:
# TLSAccept=unencrypted
### Option: TLSCAFile
# Full pathname of a file containing the top-level CA(s) certificates for
# peer certificate verification.
#
# Mandatory: no
# Default:
# TLSCAFile=
### Option: TLSCRLFile
# Full pathname of a file containing revoked certificates.
#
# Mandatory: no
# Default:
# TLSCRLFile=
### Option: TLSServerCertIssuer
# Allowed server certificate issuer.
#
# Mandatory: no
# Default:
# TLSServerCertIssuer=
### Option: TLSServerCertSubject
# Allowed server certificate subject.
#
# Mandatory: no
# Default:
# TLSServerCertSubject=
### Option: TLSCertFile
# Full pathname of a file containing the agent certificate or certificate chain.
#
# Mandatory: no
# Default:
# TLSCertFile=
### Option: TLSKeyFile
# Full pathname of a file containing the agent private key.
#
# Mandatory: no
# Default:
# TLSKeyFile=
### Option: TLSPSKIdentity
# Unique, case sensitive string used to identify the pre-shared key.
#
# Mandatory: no
# Default:
# TLSPSKIdentity=
### Option: TLSPSKFile
# Full pathname of a file containing the pre-shared key.
#
# Mandatory: no
# Default:
# TLSPSKFile=
####### PLUGIN-SPECIFIC PARAMETERS #######
### Option: Plugins
# A plugin can have one or more plugin specific configuration parameters in format:
# Plugins.<PluginName>.<Parameter1>=<value1>
# Plugins.<PluginName>.<Parameter2>=<value2>
#
# Mandatory: no
# Range:
# Default:
### Option: Plugins.Log.MaxLinesPerSecond
# Maximum number of new lines the agent will send per second to Zabbix Server
# or Proxy processing 'log' and 'logrt' active checks.
# The provided value will be overridden by the parameter 'maxlines',
# provided in 'log' or 'logrt' item keys.
#
# Mandatory: no
# Range: 1-1000
# Default:
# Plugins.Log.MaxLinesPerSecond=20
### Option: AllowKey
# Allow execution of item keys matching pattern.
# Multiple keys matching rules may be defined in combination with DenyKey.
# Key pattern is wildcard expression, which support "*" character to match any number of any characters in certain position. It might be used in both key name and key arguments.
# Parameters are processed one by one according their appearance order.
# If no AllowKey or DenyKey rules defined, all keys are allowed.
#
# Mandatory: no
### Option: DenyKey
# Deny execution of items keys matching pattern.
# Multiple keys matching rules may be defined in combination with AllowKey.
# Key pattern is wildcard expression, which support "*" character to match any number of any characters in certain position. It might be used in both key name and key arguments.
# Parameters are processed one by one according their appearance order.
# If no AllowKey or DenyKey rules defined, all keys are allowed.
# Unless another system.run[*] rule is specified DenyKey=system.run[*] is added by default.
#
# Mandatory: no
# Default:
# DenyKey=system.run[*]
### Option: Plugins.SystemRun.LogRemoteCommands
# Enable logging of executed shell commands as warnings.
# 0 - disabled
# 1 - enabled
#
# Mandatory: no
# Default:
# Plugins.SystemRun.LogRemoteCommands=0
### Option: Plugins.Docker.Endpoint
# Docker API endpoint.
#
# Mandatory: no
# Default: unix:///var/run/docker.sock
# Plugins.Docker.Endpoint=unix:///var/run/docker.sock
### Option: Plugins.Ceph.InsecureSkipVerify
# InsecureSkipVerify controls whether an http client verifies the server's certificate chain and host name.
# If InsecureSkipVerify is true, TLS accepts any certificate presented by the server and any host name
# in that certificate. In this mode, TLS is susceptible to man-in-the-middle attacks.
# This should be used only for testing.
#
# Mandatory: no
# Range: false | true
# Default:
# Plugins.Ceph.InsecureSkipVerify=false
### Option: Plugins.Ceph.KeepAlive
# Time in seconds for waiting before unused connections will be closed.
#
# Mandatory: no
# Range: 60-900
# Default:
# Plugins.Ceph.KeepAlive=300
### Option: Plugins.Ceph.Timeout
# The maximum time in seconds for waiting when a request has to be done.
# The timeout includes connection time, any redirects, and reading the response body.
#
# Mandatory: no
# Range: 1-30
# Default:
# Plugins.Ceph.Timeout=<Global timeout>
### Option: Plugins.Ceph.Uri
# Uri to connect. Can be overwritten by the first parameter of an item's key.
#
# Mandatory: no
# Range:
# Must matches the URI format.
# The only supported schema is "https".
# Embedded credentials will be ignored.
# Default:
# Plugins.Ceph.Uri=https://localhost:8003
### Option: Plugins.Ceph.Sessions.*.ApiKey
# ApiKey to be used for connectione. "*" should be replaced with a session name.
#
# Mandatory: no
# Default:
# Plugins.Ceph.Sessions.*.ApiKey=
### Option: Plugins.Ceph.Sessions.*.User
# Username to be used for connection. "*" should be replaced with a session name.
#
# Mandatory: no
# Default:
# Plugins.Ceph.Sessions.*.User=
### Option: Plugins.Ceph.Sessions.*.Uri
# Uri to connect. "*" should be replaced with a session name.
#
# Mandatory: no
# Range:
# Must matches the URI format.
# The only supported schema is "https".
# Embedded credentials will be ignored.
# Default:
# Plugins.Ceph.Sessions.*.Uri=
### Option: Plugins.Docker.Timeout
# The maximum time (in seconds) for waiting when a request has to be done.
#
# Mandatory: no
# Range: 1-30
# Default:
# Plugins.Docker.Timeout=<Global timeout>
### Option: Plugins.Memcached.Uri
# Uri to connect. Can be overwritten by the first parameter of an item's key.
#
# Mandatory: no
# Range:
# Must matches the URI format.
# Supported schemas: "tcp" and "unix".
# Embedded credentials will be ignored.
# Default:
# Plugins.Memcached.Uri=tcp://localhost:11211
### Option: Plugins.Memcached.Timeout
# The maximum time (in seconds) for waiting when a request has to be done.
#
# Mandatory: no
# Range: 1-30
# Default:
# Plugins.Memcached.Timeout=<Global timeout>
### Option: Plugins.Memcached.KeepAlive
# Time in seconds for waiting before unused connections will be closed.
#
# Mandatory: no
# Range: 60-900
# Default:
# Plugins.Memcached.KeepAlive=300
### Option: Plugins.Memcached.Sessions.*.Uri
# Uri to connect. "*" should be replaced with a session name.
#
# Mandatory: no
# Range:
# Must matches the URI format.
# Supported schemas: "tcp" and "unix".
# Embedded credentials will be ignored.
# Default:
# Plugins.Memcached.Sessions.*.Uri=
### Option: Plugins.Memcached.Sessions.*.User
# Username to send to protected Memcached server. "*" should be replaced with a session name.
#
# Mandatory: no
# Default:
# Plugins.Memcached.Sessions.*.User=
### Option: Plugins.Memcached.Sessions.*.Password
# Password to send to protected Memcached server. "*" should be replaced with a session name.
#
# Mandatory: no
# Default:
# Plugins.Memcached.Sessions.*.Password=
### Option: Plugins.Mysql.Timeout
# The maximum time (in seconds) for waiting when a request has to be done.
#
# Mandatory: no
# Range: 1-30
# Default: global timeout
### Option: Plugins.Mysql.KeepAlive
# Time (in seconds) to wait before unused connections will be closed.
#
# Mandatory: no
# Range: 60-900
# Default:
# Plugins.Mysql.KeepAlive=300
### Option: Plugins.Mysql.Sessions.*.Uri
# Connection string. "*" should be replaced with a session name.
#
# Mandatory: no
# Range: Must matches the URI format.
# Default:
# Plugins.Mysql.Sessions.*.Uri=
### Option: Plugins.Mysql.Sessions.*.User
# Username to be used for MySQL authentication. "*" should be replaced with a session name.
#
# Mandatory: no
# Default:
# Plugins.Mysql.Sessions.*.User=
### Option: Plugins.Mysql.Sessions.*.Password
# Password to be used for MySQL authentication. "*" should be replaced with a session name.
#
# Mandatory: no
# Default:
# Plugins.Mysql.Sessions.*.Password=
### Option: Plugins.Oracle.CallTimeout
# The maximum time in seconds for waiting when a request has to be done.
#
# Mandatory: no
# Range: 1-30
# Default:
# Plugins.Oracle.CallTimeout=<Global timeout>
### Option: Plugins.Oracle.ConnectTimeout
# The maximum time in seconds for waiting when a connection has to be established.
#
# Mandatory: no
# Range: 1-30
# Default:
# Plugins.Oracle.ConnectTimeout=<Global timeout>
### Option: Plugins.Oracle.CustomQueriesPath
# Full pathname of a directory containing *.sql* files with custom queries.
#
# Mandatory: no
# Default:
# Plugins.Oracle.CustomQueriesPath=
### Option: Plugins.Oracle.KeepAlive
# Time in seconds for waiting before unused connections will be closed.
#
# Mandatory: no
# Range: 60-900
# Default:
# Plugins.Oracle.KeepAlive=300
### Option: Plugins.Oracle.Uri
# Uri to connect. Can be overwritten by the first parameter of an item's key.
#
# Mandatory: no
# Range:
# Must matches the URI format.
# The only supported schema is "tcp".
# Embedded credentials will be ignored.
# Default:
# Plugins.Oracle.Uri=tcp://localhost:1521
### Option: Plugins.Oracle.Service
# Service name to be used for connection.
#
# Mandatory: no
# Range: SID is not supported.
# Default:
# Plugins.Oracle.Service=XE
### Option: Plugins.Oracle.Sessions.*.Uri
# Uri to connect. "*" should be replaced with a session name.
#
# Mandatory: no
# Range:
# Must matches the URI format.
# The only supported schema is "tcp".
# Embedded credentials will be ignored.
# Default:
# Plugins.Oracle.Sessions.*.Uri=
### Option: Plugins.Oracle.Sessions.*.Service
# Service name to be used for connection. "*" should be replaced with a session name.
#
# Mandatory: no
# Range: SID is not supported.
# Default:
# Plugins.Oracle.Sessions.*.Service=
### Option: Plugins.Oracle.Sessions.*.User
# Username to be used for connection. "*" should be replaced with a session name.
#
# Mandatory: no
# Default:
# Plugins.Oracle.Sessions.*.User=
### Option: Plugins.Oracle.Sessions.*.Password
# Password to be used for connectione. "*" should be replaced with a session name.
#
# Mandatory: no
# Default:
# Plugins.Oracle.Sessions.*.Password=
### Option: Plugins.Postgres.Database
# Postgres database. Can be overwritten by the fourth parameter of an item's key.
#
# Mandatory: no
# Default:
# Plugins.Postgres.Database=postgres
### Option: Plugins.Postgres.Sessions.*.Uri
# Uri to connect. "*" should be replaced with a session name.
#
# Mandatory: no
# Range:
# Must matches the URI format.
# Supported schemas: "tcp" and "unix".
# Embedded credentials will be ignored.
# Default:
# Plugins.Postgres.Sessions.*.Uri=
### Option: Plugins.Postgres.Sessions.*.User
# Username for session connection. "*" should be replaced with a session name.
#
# Mandatory: no
# Range: Must matches PostgreSQL user name.
# Default:
# Plugins.Postgres.Sessions.*.User=
### Option: Plugins.Postgres.Sessions.*.Password
# Password for session connection. "*" should be replaced with a session name.
#
# Mandatory: no
# Range: Must matches the Password format.
# Default:
# Plugins.Postgres.Sessions.*.Password=
### Option: Plugins.Postgres.Sessions.*.Database
# Database for session connection. "*" should be replaced with a session name.
#
# Mandatory: no
# Default:
# Plugins.Postgres.Sessions.*.Database=
### Option: Plugins.Postgres.Timeout
# The maximum time (in seconds) for waiting when a request has to be done.
#
# Mandatory: no
# Range: 1-30
# Default:
# Plugins.Postgres.Timeout=<Global timeout>
### Option: Plugins.Postgres.KeepAlive
# Time in seconds for waiting before unused connections will be closed.
#
# Mandatory: no
# Range: 60-900
# Default:
# Plugins.Postgres.KeepAlive=300
### Option: Plugins.Redis.Uri
# Uri to connect. Can be overwritten by the first parameter of an item's key.
#
# Mandatory: no
# Range:
# Must matches the URI format.
# Supported schemas: "tcp" and "unix".
# Embedded credentials will be ignored.
# Default:
# Plugins.Redis.Uri=tcp://localhost:6379
### Option: Plugins.Redis.Timeout
# The maximum time (in seconds) for waiting when a request has to be done.
#
# Mandatory: no
# Range: 1-30
# Default:
# Plugins.Redis.Timeout=<Global timeout>
### Option: Plugins.Redis.KeepAlive
# Time in seconds for waiting before unused connections will be closed.
#
# Mandatory: no
# Range: 60-900
# Default:
# Plugins.Redis.KeepAlive=300
### Option: Plugins.Redis.Sessions.*.Uri
# Uri to connect. "*" should be replaced with a session name.
#
# Mandatory: no
# Range:
# Must matches the URI format.
# Supported schemas: "tcp" and "unix".
# Embedded credentials will be ignored.
# Default:
# Plugins.Redis.Sessions.*.Uri=
### Option: Plugins.Redis.Sessions.*.Password
# Password to send to protected Redis server. "*" should be replaced with a session name.
#
# Mandatory: no
# Default:
# Plugins.Redis.Sessions.*.Password=
新建主机群组
创建监控项模板,先选择默认的linux 系统模板
生产环境代开防火墙端口风险太大,默认全部启用主动模式
选中底部,批量更新,关联到主机群组
配置自动注册动作,关联到主机群组
进入配置-》主机界面 相关主机已自动注册成功
选中主机群组批量更新模板