Posts Tagged ‘ Monitoring

zabbix_agentd […]: unable to create mutex for log file

Нежданно-негаданно нарвался на такую ошибку при запуске zabbix-agent (v 2.4.5) в CentOS 7:

zabbix_agentd [50425]: unable to create mutex for log file
zabbix_agentd [50428]: cannot create Semaphore: [28] No space left on device

Решение простое как двери, нужно добавить SysV IPC semaphores.
Дефолтное значение выглядит так:

[admin@mx1 ~]$ sudo sysctl -a |grep sem
kernel.sem = 250    32000   32  128
[admin@mx1 ~]$

Для меня достаточно было сделать вот так:

[admin@mx1 ~]$ sudo sh -c 'echo "kernel.sem = 250 32000 32 256" > /etc/sysctl.d/10-zabbix.conf'
[admin@mx1 ~]$ sudo sysctl -p /etc/sysctl.d/10-zabbix.conf

И пробуем стартонуть …
Читать полностью

Simple Desktop Notifications Jira/Mail: Conky + Perl

На работе внедрили Jira — это такой мега продукт для управления проектами, тиками, багами он же вики и тд и тп … Я как админ там восновном работаю с тикетами которые на меня сыпятся со всех сторон. Но беда в том что софтина web-овская и для человека сидящего целыми днями в консоли не очень удобно держать отдельную вкладку с Jira в браузере и постоянно туда заглядывать. В Jira есть нотификейшены в почту, но опять же, почта web-овская: браузер -> вкладка -> смотреть-смотреть …. не удобно 🙂
Решил сделать себе няшную уведомлялку на десктоп для Jira (интересуют открытые тикеты назначенные на меня), а заодно и для почты (Интересует непрочитанные сообщения в директории INBOX) 🙂 Она же тоже вебовская … зараза.
Jira имеет очень богатый API, он же REST, через который можно совершать любые манипуляции с тикетами: создавать, комментировать, закрывать, переназначать … Но мне многого не надо, всего то отобразить на desktop количество заявок которые «висят на мне».
Есть готовые скрипты для работы с Jira использующие Jira REST. Варианты самые разнообразные как по функционалу так и по языкам: на ruby, python, perl. Я выбрал последний, так как более-менее ориентируюсь в перловке.
Читать полностью

Zabbix 2.4 и JMX мониторинг Java приложений

Многие кто использует Java приложение знают о такой полезной штуке как JMX. Мне как администратору больше интересен JMX для мониторинга Java-приложений. Мониторим Zabbix-ом, он имеет поддержку JMX в виде отдельного интерфейса, правда для получения данных использует Java Gateway. Что это такое, как настроить … я дальше опишу.
Схема получения данных Zabbix-Server-ом от Java-app в конечном итоге будет выглядеть вот так:

                              / -> Java App1
Zabbix-Server -> Java Gateway --> Java App2
                              \ -> Java App3

Все три компонента могут быть как на одном хосте, так и на разных.
Мне как администратору проще воспринимать Zabbix Java Gateway как некий прокси, который преобразует данные полученные от JMX в формат данных Zabbix и отдает их в Zabbix Server.
Читать полностью

CentOS 6.6 — Puppet Dashboard Install

В одной из предыдущих статей я описал процесс установки и настройки Puppet Server (он же Puppetmaster). Сейчас же хочу написать небольшую заметку по установке и настройке Puppet Dashboard — это весьма приятное дополнение к Puppet. Представляет из себя WEB-консоль для мониторинга применения манифестов и визуализации конфигурации вцелом.
Устанавливать буду на том же сервере где настраивал Puppetmaster. Поехали?
Читать полностью

Zabbix — CPU Time & Memory Usage для процесса

Задача — мониторить zabbix-ом Memory и CPU Time Usage для конкретного процесса в Linux/Unix.
Больше конкретики …
Есть вот такой процесс:

black@linux9:~$ sudo ps aux |grep java
bioc 8607 40.4 1.2 11097680 418576 pts/0 Sl Feb25 423:27 /usr/java/jdk1.7.0_67/bin/java -classpath /opt/bioc/maven/boot/plexus-classworlds-2.4.jar -Dclassworlds.conf=/opt/bioc/maven/bin/m2.conf -Dmaven.home=/opt/bioc/maven org.codehaus.plexus.classworlds.launcher.Launcher tomcat7:run
black@linux9:~$

Как узнать сколько ресурсов он потребляет? И не просто узнать, но еще и запихнуть в zabbix для сбора статистики и накручивания триггеров.
Процессор!
CPU Time процесса — в дефолте Zabbix не умеет собирать агентом этот параметр. Но есть возможность написать свой UserParameter в конфиг zabbix-agent. Вот мой вариант:

UserParameter=proc.cputime.fc[*],CPUS=$$(grep -c ^processor /proc/cpuinfo); /bin/ps -A --no-headers -o user:16,cputime,args | /usr/bin/awk -v CPU_C="$$CPUS" 'BEGIN {SUM=0; SNAME="$3"; COMM="$2"; USER="$1"} {if (($$9 ~ SNAME || SNAME == "") && ($$3 ~ COMM || COMM == "") && ($$1 == USER || USER == "")) {d[1]=0; d[2]=0; split($$2, d,"-"); if (d[2] != 0) {split(d[2], t, ":"); SUM+=86400*d[1]+3600*t[1]+60*t[2]+t[3]} else {split($$2, t, ":"); SUM+=3600*t[1]+60*t[2]+t[3]}; }} END''{printf "%.1f", 100*SUM/CPU_C}'

На zabbix-server можно использовать Item «proc.cputime.fc» с дополнительными параметрами которые нужны для выборки awk:
USER=$1 — username, в моем случае «bioc»
COMM=$2 — command name, в моем случае «java»
SNAME=$3 — some unique parameter, в моем случае «tomcat7»
В моем случае это:

black@linux9:~$ /bin/ps -A --no-headers -o user:16,cputime,args |grep bioc |awk '{print $1,$3,$9}'
bioc /usr/java/jdk1.7.0_67/bin/java tomcat7:run
black@linux9:~$

Тоесть в моем конкретном случае Item выглядит так: proc.cputime.fc[bioc,java,tomcat7]
Читать полностью

Мониторинг Docker контейнеров в Zabbix

Мониторить хочу количество контейнеров в состоянии Running/Crashed/Available. Для нескольких особо важных контейнеров нужно иметь возможность мониторить их статус по имени.
Что до количества, взял готовое решение вот тут. Добавил в Zabbix вот так:
Размещаем в /etc/zabbix/scripts такой вот скриптец под именем docker_status.sh:

#!/bin/bash
 
function countContainers() {
    docker ps -q $1 | wc -l
}
 
function countCrashedContainers() {
    docker ps -a | grep -v -F 'Exited (0)' | grep -c -F 'Exited ('
}
 
TYPE=${1-all}
 
case $TYPE in
    running) COUNT_FUNCTION="countContainers"; shift;;
    crashed) COUNT_FUNCTION="countCrashedContainers"; shift;;
    all) COUNT_FUNCTION="countContainers -a"; shift;;
esac
 
$COUNT_FUNCTION

Читать полностью

Установка Zabbix-agent 2.2 в Debian Squezee

В официальных репозитариях Debian Squezee есть zabbix версии 1.8 Я же хотел установить zabbix-agent хотя бы версии 2.0 Но оказалось что для Debian Squezee в репах Zabbix-а есть агент версии 2.2 Его я и буду ставить! Для начала качаем файлик с репозитарием:

black@deb5:~$ wget -c http://repo.zabbix.com/zabbix/2.2/debian/pool/main/z/zabbix-release/zabbix-release_2.2-1+squeeze_all.deb

И установим его:

black@deb5:~$ sudo dpkg -i zabbix-release_2.2-1+squeeze_all.deb
Selecting previously deselected package zabbix-release.
(Reading database ... 54804 files and directories currently installed.)
Unpacking zabbix-release (from zabbix-release_2.2-1+squeeze_all.deb) ...
Setting up zabbix-release (2.2-1+squeeze) ...
black@deb5:~$

Поехали дальше … Читать полностью

Nagios3 — Мониторим Bandwidth в ESX 5.x через SNMP

Расскажу и покажу как мониторить загруженность сетевых интерфейсов (bandwidth) в ESX версии 5.x через SNMP. К слову сказать, с помощью SNMP в ESX можно мониторить загрузку CPU, памяти, винтов и прочие параметры … но главное понять принцип как это делается, а дальше — дело техники! Для начала на серваке с ESX нужно включить SNMP. Не вижу смысла повторять героический подвиг и ваять скриншотики, вот тут коллеги уже прекрасно справились — тыц!
Итак, далее предполагаю что Nagios3 у вас уже установлен и настроен. Поехали дельше … Читать полностью

Мониторинг загрузки сетевого интерфейса на ESX сервере по SNMP

Сервис мониторинга Nagios3 у меня давно работает на сервере под Debian. Захотелось мне промониторить загрузку интерфейсов на серваке ESX 5. Оказалось это можно сделать по SNMP и довольно просто. Но всеже я это настраивал впервые, хочу поделиться с вами инфой и себе на заметку пригодится.
На сервер ESX зашел по SSH и подправил с помощью vi следующий файл до такого вида:

~ # cat /etc/vmware/snmp.xml
< ?xml version="1.0"?>
<config><snmpsettings><enable>true</enable><port>161</port><enveventsource>indications</enveventsource><loglevel>info</loglevel><communities>SRV1-ESXi</communities><targets></targets><engineid>00000063000000a17f000001</engineid></snmpsettings></config>
~ #

С сервера мониторинга пробуем опросить snmp Читать полностью

FreeBSD — S.M.A.R.T. на сервере HP

Захотелось вот смарты по винтам просмотреть, ато есть уже опыт с битым веником … Система FreeBSD 8.2, сервак HP
Для начала поставим тулзу для чтения S.M.A.R.T.

[root@mail ~]# cd /usr/ports/sysutils/smartmontools

Собираем

[root@mail /usr/ports/sysutils/smartmontools]# make install clean

Пользуем так:

[root@mail ~]# smartctl -d sat+cciss,0 -a /dev/ciss0

Это для первого винта, вот так для второго:

[root@mail ~]# smartctl -d sat+cciss,1 -a /dev/ciss0

Ну и тд и тп.
На основании данных полученных со смарта можно примерно представить сколько еще прослужит винчестер. Также рекомендую сделать скрипт для розпарсивания основных параметров и отсылки информации админу о проблеме любым доступным на сервере способом (SMS, Mail, SNMP)
Удачи!