Suivant: , Précédent: , Monter: Services   [Table des matières][Index]


11.10.17 Services de surveillance

Service Tailon

Tailon est une application web pour visualiser et chercher des fichiers de journaux.

L’exemple suivant configurera le service avec les valeurs par défaut. Par défaut, on peut accéder à Tailon sur le pour 8080 (http://localhost:8080).

(service tailon-service-type)

L’exemple suivant personnalise un peu plus la configuration de Tailon, en ajoutant sed à la liste des commandes autorisées.

(service tailon-service-type
         (tailon-configuration
           (config-file
             (tailon-configuration-file
               (allowed-commands '("tail" "grep" "awk" "sed"))))))
Type de données :tailon-configuration

Type de données représentant la configuration de Tailon. Ce type a les paramètres suivants :

config-file (par défaut : (tailon-configuration-file))

Le fichier de configuration à utiliser pour Tailon. Ce champ peut contenir un enregistrement tailon-configuration-file ou n’importe quelle gexp (voir G-Expressions).

Par exemple, pour utiliser un fichier local à la place, on peut utiliser la fonction local-file :

(service tailon-service-type
         (tailon-configuration
           (config-file (local-file "./my-tailon.conf"))))
package (par défaut : tailon)

Le paquet tailon à utiliser.

Type de données :tailon-configuration-file

Type de données représentant les options de configuration de Tailon. Ce type a les paramètres suivants :

files (par défaut : (list "/var/log"))

Liste des fichiers à afficher. La liste peut inclure des chaînes pour des fichiers simple ou des répertoires, ou une liste, où le premier élément est le nom d’un sous-section et le reste des fichiers ou des répertoires de cette sous-section.

bind (par défaut : "localhost:8080")

Adresse et port sur lesquels Tailon écoute.

relative-root (par défaut : #f)

Chemin de l’URL à utiliser pour Tailon, ou #f pour ne pas utiliser de chemin.

allow-transfers? (par défaut : #t)

Permet de télécharger les journaux dans l’interface web.

follow-names? (par défaut : #t)

Permet de surveiller des fichiers qui n’existent pas encore.

tail-lines (par défaut : 200)

Nombre de lignes à lire initialement dans chaque fichier.

allowed-commands (par défaut : (list "tail" "grep" "awk"))

Commandes autorisées. Par défaut, sed est désactivé.

debug? (par défaut : #f)

Configurez debug? à #t pour montrer les messages de débogage.

wrap-lines (par défaut : #t)

État initial du retour à la ligne dans l’interface web. Configurez l’option à #t pour retourner à la ligne (par défaut) ou à #f pour ne pas retourner à la ligne au début.

http-auth (par défaut : #f)

Type d’authentification HTTP à utiliser. Indiquez #f pour désactiver l’authentification (par défaut). Les valeur supportées sont "digest" et "basic".

users (par défaut : #f)

Si l’authentification HTTP est activée (voir http-auth), l’accès sera restreint aux identifiants fournis ici. Pour configurer des utilisateurs, utilisez une liste de paires, où le premier élément de la paire est le nom d’utilisateur et le second élément est le mot de passe.

(tailon-configuration-file
  (http-auth "basic")
  (users     '(("user1" . "password1")
               ("user2" . "password2"))))

Service Darkstat

Darkstat est un « renifleur de paquets » qui capture le trafic réseau, calcul des statistiques sur l’utilisation et sert des rapport sur HTTP.

Variable :darkstat-service-type

C’est le type de service pour le service darkstat, sa valeur doit être un enregistrement darkstat-configuration comme dans cet exemple :

Type de données :darkstat-configuration

Type de données représentant la configuration de darkstat.

package (par défaut : darkstat)

Le paquet darkstat à utiliser.

interface

Capture le trafic sur l’interface réseau spécifiée.

port (par défaut : "667")

Lie l’interface web sur le port spécifié.

bind-address (par défaut : "127.0.0.1")

Lie l’interface web sur l’adresse spécifiée.

base (par défaut : "/")

Spécifie le chemin de base des URL. C’est utile si on accède à darkstat à travers un proxy inverse.

Service d’export de nœud de Prometheus

L’exportateur de nœuds de Prometheus rend disponible les statistiques sur le matériel et le système d’exploitation fournies par le noyau Linux pour le système de surveillance Prometheus. Ce service devrait être déployé sur tous les nœuds physiques et les machines virtuelles, où vous voulez surveiller ces statistiques.

Variable :prometheus-node-exporter-service-type

C’est le type de service pour le service prometheus-node-exporter, sa valeur doit être un enregistrement prometheus-node-exporter-configuration.

Type de données :prometheus-node-exporter-configuration

Type de données représentant la configuration de node_exporter.

package (par défaut : go-github-com-prometheus-node-exporter)

Le paquet prometheus-node-exporter à utiliser.

web-listen-address (par défaut : ":9100")

Lie l’interface web sur l’adresse spécifiée.

textfile-directory (par défaut : "/var/lib/prometheus/node-exporter")

Ce répertoire est utilisable pour exporter des métriques spécifiques à cette machine. Les fichiers contenant les métriques au format texte, dont le nom de fichier termine par .prom devraient être placés dans ce répertoire.

extra-options (par défaut : '())

Options supplémentaires à passer au lancement de l’exportateur de nœuds de Prometheus.

vnStat Network Traffic Monitor

vnStat is a network traffic monitor that uses interface statistics provided by the kernel rather than traffic sniffing. This makes it a light resource monitor, regardless of network traffic rate.

Variable :vnstat-service-type

This is the service type for the vnStat daemon and accepts a vnstat-configuration value.

The following example will configure the service with default values:

Data Type :vnstat-configuration

Available vnstat-configuration fields are:

package (default: vnstat) (type: file-like)

The vnstat package.

database-directory (default: "/var/lib/vnstat") (type: string)

Specifies the directory where the database is to be stored. A full path must be given and a leading ’/’ isn’t required.

5-minute-hours (default: 48) (type: maybe-integer)

Data retention duration for the 5 minute resolution entries. The configuration defines for how many past hours entries will be stored. Set to -1 for unlimited entries or to 0 to disable the data collection of this resolution.

64bit-interface-counters (default: -2) (type: maybe-integer)

Select interface counter handling. Set to 1 for defining that all interfaces use 64-bit counters on the kernel side and 0 for defining 32-bit counter. Set to -1 for using the old style logic used in earlier versions where counter values within 32-bits are assumed to be 32-bit and anything larger is assumed to be a 64-bit counter. This may produce false results if a 64-bit counter is reset within the 32-bits. Set to -2 for using automatic detection based on available kernel datastructures.

always-add-new-interfaces? (default: #t) (type: maybe-boolean)

Enable or disable automatic creation of new database entries for interfaces not currently in the database even if the database file already exists when the daemon is started. New database entries will also get created for new interfaces seen while the daemon is running. Pseudo interfaces ‘lo’, ‘lo0’ and ‘sit0’ are always excluded from getting added.

bandwidth-detection? (default: #t) (type: maybe-boolean)

Try to automatically detect max-bandwidth value for each monitored interface. Mostly only ethernet interfaces support this feature. max-bandwidth will be used as fallback value if detection fails. Any interface specific max-BW configuration will disable the detection for the specified interface. In Linux, the detection is disabled for tun interfaces due to the Linux kernel always reporting 10 Mbit regardless of the used real interface.

bandwidth-detection-interval (default: 5) (type: maybe-integer)

How often in minutes interface specific detection of max-bandwidth is done for detecting possible changes when bandwidth-detection is enabled. Can be disabled by setting to 0. Value range: ‘0’..‘30

boot-variation (default: 15) (type: maybe-integer)

Time in seconds how much the boot time reported by system kernel can variate between updates. Value range: ‘0’..‘300

check-disk-space? (default: #t) (type: maybe-boolean)

Enable or disable the availability check of at least some free disk space before a database write.

create-directories? (default: #t) (type: maybe-boolean)

Enable or disable the creation of directories when a configured path doesn’t exist. This includes database-directory.

daemon-group (type: maybe-user-group)

Specify the group to which the daemon process should switch during startup. Set to %unset-value to disable group switching.

daemon-user (type: maybe-user-account)

Specify the user to which the daemon process should switch during startup. Set to %unset-value to disable user switching.

daily-days (default: 62) (type: maybe-integer)

Data retention duration for the one day resolution entries. The configuration defines for how many past days entries will be stored. Set to -1 for unlimited entries or to 0 to disable the data collection of this resolution.

database-synchronous (default: -1) (type: maybe-integer)

Change the setting of the SQLite "synchronous" flag which controls how much care is taken to ensure disk writes have fully completed when writing data to the database before continuing other actions. Higher values take extra steps to ensure data safety at the cost of slower performance. A value of 0 will result in all handling being left to the filesystem itself. Set to -1 to select the default value according to database mode controlled by database-write-ahead-logging setting. See SQLite documentation for more details regarding values from 1 to 3. Value range: ‘-1’..‘3

database-write-ahead-logging? (default: #f) (type: maybe-boolean)

Enable or disable SQLite Write-Ahead Logging mode for the database. See SQLite documentation for more details and note that support for read-only operations isn’t available in older SQLite versions.

hourly-days (default: 4) (type: maybe-integer)

Data retention duration for the one hour resolution entries. The configuration defines for how many past days entries will be stored. Set to -1 for unlimited entries or to 0 to disable the data collection of this resolution.

log-file (type: maybe-string)

Specify log file path and name to be used if use-logging is set to 1.

max-bandwidth (type: maybe-integer)

Maximum bandwidth for all interfaces. If the interface specific traffic exceeds the given value then the data is assumed to be invalid and rejected. Set to 0 in order to disable the feature. Value range: ‘0’..‘50000

max-bw (type: maybe-alist)

Same as max-bandwidth but can be used for setting individual limits for selected interfaces. This is an association list of interfaces as strings to integer values. For example,

(max-bw `(("eth0" .  15000)
          ("ppp0" .  10000)))

bandwidth-detection is disabled on an interface specific level for each max-bw configuration. Value range: ‘0’..‘50000

monthly-months (default: 25) (type: maybe-integer)

Data retention duration for the one month resolution entries. The configuration defines for how many past months entries will be stored. Set to -1 for unlimited entries or to 0 to disable the data collection of this resolution.

month-rotate (default: 1) (type: maybe-integer)

Day of month that months are expected to change. Usually set to 1 but can be set to alternative values for example for tracking monthly billed traffic where the billing period doesn’t start on the first day. For example, if set to 7, days of February up to and including the 6th will count for January. Changing this option will not cause existing data to be recalculated. Value range: ‘1’..‘28

month-rotate-affects-years? (default: #f) (type: maybe-boolean)

Enable or disable month-rotate also affecting yearly data. Applicable only when month-rotate has a value greater than one.

offline-save-interval (default: 30) (type: maybe-integer)

How often in minutes cached interface data is saved to file when all monitored interfaces are offline. Value range: save-interval..‘60

pid-file (default: "/var/run/vnstatd.pid") (type: maybe-string)

Specify pid file path and name to be used.

poll-interval (default: 5) (type: maybe-integer)

How often in seconds interfaces are checked for status changes. Value range: ‘2’..‘60

rescan-database-on-save? (type: maybe-boolean)

Automatically discover added interfaces from the database and start monitoring. The rescan is done every save-interval or offline-save-interval minutes depending on the current activity state.

save-interval (default: 5) (type: maybe-integer)

How often in minutes cached interface data is saved to file. Value range: ( update-interval / 60 )..‘60

save-on-status-change? (default: #t) (type: maybe-boolean)

Enable or disable the additional saving to file of cached interface data when the availability of an interface changes, i.e., when an interface goes offline or comes online.

time-sync-wait (default: 5) (type: maybe-integer)

How many minutes to wait during daemon startup for system clock to sync if most recent database update appears to be in the future. This may be needed in systems without a real-time clock (RTC) which require some time after boot to query and set the correct time. 0 = wait disabled. Value range: ‘0’..‘60

top-day-entries (default: 20) (type: maybe-integer)

Data retention duration for the top day entries. The configuration defines how many of the past top day entries will be stored. Set to -1 for unlimited entries or to 0 to disable the data collection of this resolution.

trafficless-entries? (default: #t) (type: maybe-boolean)

Create database entries even when there is no traffic during the entry’s time period.

update-file-owner? (default: #t) (type: maybe-boolean)

Enable or disable the update of file ownership during daemon process startup. During daemon startup, only database, log and pid files will be modified if the user or group change feature ( daemon-user or daemon-group ) is enabled and the files don’t match the requested user or group. During manual database creation, this option will cause file ownership to be inherited from the database directory if the directory already exists. This option only has effect when the process is started as root or via sudo.

update-interval (default: 20) (type: maybe-integer)

How often in seconds the interface data is updated. Value range: poll-interval..‘300

use-logging (default: 2) (type: maybe-integer)

Enable or disable logging. Accepted values are: 0 = disabled, 1 = logfile and 2 = syslog.

use-utc? (type: maybe-boolean)

Enable or disable using UTC as timezone in the database for all entries. When enabled, all entries added to the database will use UTC regardless of the configured system timezone. When disabled, the configured system timezone will be used. Changing this setting will not result in already existing data to be modified.

yearly-years (default: -1) (type: maybe-integer)

Data retention duration for the one year resolution entries. The configuration defines for how many past years entries will be stored. Set to -1 for unlimited entries or to 0 to disable the data collection of this resolution.

Server zabbix

Zabbix est un système de surveillance très performant qui peut récupérer des données de plusieurs sources et fournir les résultats sur une interface web. Les alertes et les rapport sont inclus, ainsi que les modèles pour les métriques communes des systèmes d’exploitation comme l’utilisation du réseau, la charge CPU et la consommation de l’espace disque.

Ce service fournit le service de surveillance Zabbix central. Vous aurez aussi besoin de zabbix-front-end-service-type pour configurer Zabbix et afficher les résultats et éventuellement de zabbix-agent-service-type sur les machines qui doivent être surveillées (d’autres sources de données sont prises en charge, comme Prometheus Node Exporter).

Variable :zabbix-server-service-type

C’est le type de service pour le service du serveur Zabbix. Sa valeur doit être un enregistrement zabbix-serveur-configuration, décrit ci-dessous.

Type de données :zabbix-server-configuration

Les champs de zabbix-server-configuration disponibles sont :

zabbix-server (par défaut : zabbix-server) (type : simili-fichier)

Le paquet zabbix-server.

user (par défaut : "zabbix") (type : chaine)

Utilisateur qui lancera le serveur Zabbix.

group (par défaut : "zabbix") (type : chaine)

Groupe qui lancera le serveur Zabbix.

db-host (par défaut : "127.0.0.1") (type : chaine)

Le nom d’hôte de la base de données.

db-name (par défaut : "zabbix") (type : chaine)

Nom de la base de données.

db-user (par défaut : "zabbix") (type : chaine)

Utilisateur de la base de données.

db-password (par défaut : "") (type : chaine)

Mot de passe de la base de données. Utilisez plutôt include-files avec DBPassword=SECRET dans le fichier spécifié à la place.

db-port (par défaut : 5432) (type : entier)

Port de la base de données.

log-type (par défaut : "") (type : chaine)

Spécifie où les messages de journalisation seront écrits :

  • system - syslog.
  • file - fichier spécifié par le paramètre log-file.
  • console - sortie standard.
log-file (par défaut : "/var/log/zabbix/server.log") (type : chaine)

Nom du fichier de journal lorsque le paramètre log-type vaut file.

pid-file (par défaut : "/var/run/zabbix/zabbix_server.pid") (type : chaine)

Nom du fichier de PID.

ssl-ca-location (par défaut : "/etc/ssl/certs/ca-certificates.crt") (type : chaine)

Emplacement des fichiers d’autorités de certification (AC) pour la vérification des certificats SSL du serveur.

ssl-cert-location (par défaut : "/etc/ssl/certs") (type : chaine)

Emplacement des certificats SSL des clients.

extra-options (par défaut : "") (type : extra-options)

Options supplémentaires ajoutées à la fin du fichier de configuration du serveur Zabbix.

include-files (par défaut : '()) (type : include-files)

Vous pouvez inclure des fichiers individuels ou tous les fichiers d’un répertoire dans le fichier de configuration.

Agent zabbix

L’agent Zabbix récupère les informations sur le système pour le serveur de surveillance Zabbix. Il a plusieurs vérificateurs intégrés et peut être étendu avec des paramètres utilisateurs personnalisés.

Variable :zabbix-agent-service-type

C’est le type de service du service de l’agent Zabbix. Sa valeur doit être un enregistrement zabbix-agent-configuration, décrit ci-dessous.

Type de données :zabbix-agent-configuration

Les champs de zabbix-agent-configuration disponibles sont :

zabbix-agent (par défaut : zabbix-agentd) (type : simili-fichier)

Le paquet zabbix-agent.

user (par défaut : "zabbix") (type : chaine)

Utilisateur qui lancera l’agent Zabbix.

group (par défaut : "zabbix") (type : chaine)

Groupe qui lancera l’agent Zabbix.

hostname (par défaut : "") (type : chaine)

Noms d’hôte unique et sensible à la casse requis pour les vérifications actives et qui doit correspondre au nom d’hôte configuré sur le serveur.

log-type (par défaut : "") (type : chaine)

Spécifie où les messages de journalisation seront écrits :

  • system - syslog.
  • file — fichier spécifié par le paramètre log-file.
  • console - sortie standard.
log-file (par défaut : "/var/log/zabbix/agent.log") (type : chaine)

Nom du fichier de journal lorsque le paramètre log-type vaut file.

pid-file (par défaut : "/var/run/zabbix/zabbix_agent.pid") (type : chaine)

Nom du fichier de PID.

server (par défaut : '("127.0.0.1")) (type : liste)

Liste d’adresses IP, éventuellement en notation CIDR ou de noms d’hôtes de serveurs Zabbix et de mandataires Zabbix. Les connexions entrantes ne seront acceptées que si elles viennent des hôtes listés ici.

server-active (par défaut : '("127.0.0.1")) (type : liste)

Liste de paires d’IP:port (ou nom d’hôte:port) de serveurs Zabbix et de mandataires Zabbix pour les vérifications actives. Si le port n’est pas spécifié, le port par défaut est utilisé. Si ce paramètre n’est pas spécifié, les vérifications actives sont désactivées.

extra-options (par défaut : "") (type : extra-options)

Options supplémentaires ajoutées à la fin du fichier de configuration du serveur Zabbix.

include-files (par défaut : '()) (type : include-files)

Vous pouvez inclure des fichiers individuels ou tous les fichiers d’un répertoire dans le fichier de configuration.

Interface utilisateur Zabbix

L’interface Zabbix fournit une interface web à Zabbix. Il n’a pas besoin de tourner sur la même machine que le serveur Zabbix. Ce service fonctionne en étendant les service PHP-FPM et NGINX avec la configuration nécessaire à charger l’interface utilisateur Zabbix.

Variable :zabbix-front-end-service-type

C’est le type de service de l’interface web de Zabbix. Sa valeur doit être un enregistrement virtlog-configuration, décrit plus bas.

Type de données :zabbix-front-end-configuration

Les champs de zabbix-front-end-configuration disponibles sont :

zabbix-server (par défaut : zabbix-server) (type : simili-fichier)

Le paquet du serveur Zabbix à utiliser.

nginx (par défaut : '()) (type : liste)

Liste de blocs nginx-server-configuration pour l’interface Zabbix. Lorsque la valeur est vide, un bloc par défaut qui écoute sur le port 80 est utilisé.

db-host (par défaut : "localhost") (type : chaine)

Le nom d’hôte de la base de données.

db-port (par défaut : 5432) (type : entier)

Port de la base de données.

db-name (par défaut : "zabbix") (type : chaine)

Nom de la base de données.

db-user (par défaut : "zabbix") (type : chaine)

Utilisateur de la base de données.

db-password (par défaut : "") (type : chaine)

Mot de passe de la base de données. Utilisez plutôt db-secret-file.

db-secret-file (par défaut : "") (type : chaine)

Fichier de secrets qui sera ajouté au fichier zabbix.conf.php. Ce fichier contient les paramètres d’authentification utilisés par Zabbix. On s’attend à ce que vous le créiez manuellement.

zabbix-host (par défaut : "localhost") (type : chaine)

Nom d’hôte du serveur Zabbix.

zabbix-port (par défaut : 10051) (type : nombre)

Port du serveur Zabbix.


Suivant: Services Kerberos, Précédent: Services de partage de fichiers, Monter: Services   [Table des matières][Index]