Ein von Python erstelltes Programm, das verschiedene Daten abruft und auf den Backend-Server überträgt. Derzeit wird nur Zabbix Server für das Backend-Wurfziel unterstützt, wir planen jedoch, in Zukunft verschiedene Middleware zu unterstützen.
Sie können pip oder rpm verwenden. Die Empfehlung lautet U / min
Ohne an irgendetwas zu denken
pip install blackbird
Geben Sie mit ein Oder verwenden Sie setup.py zur Installation
git clone https://github.com/Vagrants/blackbird.git
cd blackbird
python setup.py install
Stellen Sie das yum-Repository wie unten gezeigt ein
cat <<'_EOF_'> /etc/yum.repos.d/blackbird.repo
[blackbird]
name=Blackbird
baseurl=https://vagrants.github.io/blackbird/repo/yum/6/x86_64/
enabled=0
gpgcheck=0
_EOF_
Dann mit yum installieren Stellen Sie sicher, dass epel verfügbar ist, da das epel-Paket als Abhängigkeit verwendet wird.
yum install blackbird --enablerepo=blackbird,epel
Die Konfiguration lautet "/ etc / blackbird / defaults.cfg"
/etc/blackbird/defaults.cfg
[global]
user = bbd
group = bbd
include = conf.d/*.cfg
log_file = /var/log/blackbird/blackbird.log
log_level = error
Wenn Sie mit U / min installieren, sollten Sie die obigen Angaben sehen Wenn Sie den Ausführungsbenutzer oder die Ausführungsgruppe ändern müssen, ändern Sie sie entsprechend.
Stellen Sie den zabbix-Server außerdem in / etc / blackbird / conf.d / zabbix_sender.cfg
ein.
ini:/etc/blackbird/conf.d/zabbix_sender.cfg
[zabbix]
server = 127.0.0.1
module = zabbix_sender
Bitte ändern Sie 127.0.0.1
entsprechend
Nehmen wir als Beispiel blackbird-httpd
.
Es gibt verschiedene Möglichkeiten, das Plugin zu installieren
Klonen Sie an einen geeigneten Ort und platzieren Sie die Datei
git clone https://github.com/Vagrants/blackbird-httpd.git
cd blackbird-httpd
cp httpd.py /opt/blackbitd/plugins/.
cp httpd.cfg /etc/blackbird/conf.d/.
git clone https://github.com/Vagrants/blackbird-httpd.git
cd blackbird-httpd
python setup.py install
yum install blackbird-httpd --enablerepo=blackbird
Grundsätzlich denke ich, dass es in der INI-Datei erklärt wird, aber Sie können einige zusätzliche Einstellungen vornehmen. Von besonderer Bedeutung sind "Intervall" und "lld_interval"
ini:/etc/blackbird/conf.d/httpd.cfg
[httpd]
module = 'httpd'
# stub_status URI
# - support only http status code '200'
# - you must set uri value start with '/'
#
status_uri = '/server-status'
info_uri = '/server-info'
# host = '127.0.0.1'
# port = '80'
# timeout = '3'
# use ssl connection?
#
# ssl = False
# for BASIC authentication. default: Nothing
#
# user = 'nobody'
# for BASIC authentication. default: Nothing
#
# password = 'nobody'
# for response time check
# if you do not want to check, please comment out
# - support only http status code '200'
# - you must set uri value start with '/'
#
response_check_uri = '/'
# response_check_host = '127.0.0.1'
# response_check_port = '80'
# response_check_timeout = '3'
# response_check_vhost = 'localhost'
# response_check_uagent = 'blackbird response check'
# response_check_ssl = False
# httpd path
path = '/usr/sbin/httpd'
Intervall
ist das Intervall zwischen dem Senden von Daten an Zabbix (Standard 60 Sekunden)
lld_interval
ist das Low Level Discovery-Intervall (Standard 600 Sekunden)
(LLD wird in diesem httpd-Plugin nicht verwendet)
Sie können diese Intervalle für jedes Plugin festlegen
Wenn Sie beispielsweise alle 30 Sekunden erfassen und alle 600 Sekunden ermitteln möchten, ist dies wie folgt.
interval = 30
lld_interval = 600
Außerdem wird der Hostname beim Senden mit Zabbix Sender automatisch erfasst. Wenn sich der Hostname jedoch von der Seite des Zabbix-Servers unterscheidet, kann er in cfg geschrieben werden.
hostname = other_host_name
/etc/init.d/blackbird start
Wenn Sie kein Startskript haben, verwenden Sie https://github.com/Vagrants/blackbird/blob/master/scripts/blackbird.init
Wir veröffentlichen die Zabbix-Vorlage für jedes Plugin Importieren Sie die XML-Datei unter "Vorlagen" in das Git-Repository jedes Plugins in Zabbix Server (Im Fall von blackbird-httpd in diesem Beispiel befindet es sich unter https://github.com/Vagrants/blackbird-httpd/tree/master/templates)
Überprüfen Sie zunächst, ob die Servereinstellung in / etc / blackbird / conf.d / zabbix_sender.cfg
korrekt ist
Stellen Sie außerdem sicher, dass Port 10051 von Zabbix Server vom Zielserver aus geöffnet ist.
Wenn Sie den Zabbix Server-Port von 10051 geändert haben, fügen Sie port = <Ihre Portnummer>
in zabbix_sender.cfg
hinzu
Wenn der Hostname des Servers, auf dem Blackbird ausgeführt wird, und der Hostname auf der Seite des Zabbix-Servers unterschiedlich sind, werden keine Daten eingegeben. Bitte ändern Sie die Zabbix Server-Seite oder definieren Sie den Hostnamen in den Plugin-Einstellungen entsprechend.
Recommended Posts