#11. Pandora FMS
Ключевые особенности:
- Pandora FMS расшифровывается как Pandora Flexible Monitoring Solution.
- Pandora FMS – это инструмент мониторинга ИТ-инфраструктуры в единой консоли.
- Элементы Pandora FMS состоят из консоли, базы данных, серверов, агентов.
Используя Pandora FMS, мы можем отслеживать:
- Сеть
- Логи
- Базы данных
- Облака
- Приложения
- Серверы
- IPAM
- SAP
- Интернет вещей
Он может выполнять как удаленный мониторинг, так и мониторинг на основе агентов, установленных на серверах.
Преимущества:
- Pandora FMS имеет версию с открытым исходным кодом.
- У него также есть также версия Enterprise, которая используется многими ИТ-компаниями.
- Версия Pandora FMS с открытым исходным кодом и корпоративная версия регулярно обновляются каждый месяц.
- Имеет прямой доступ с консоли.
Мы рассмотрели инструменты мониторинга с открытым исходным кодом для Linux-Prometheus, Grafana, Elastic search, Nagios Core, Zabbix, Cacti, Icinga, MRTG, Netdata, Sensu, Pandora FMS.
Configuration
The next step is to configure mrtg for monitoring a network device. This is done by creating an mrtg.cfg file which defines what you want to monitor.
Luckily, you don’t have to dive straight in and start writing your own configuration file all by yourself. Together with mrtg you also got a copy of
cfgmaker. This is a script you can point at a router of your choice; it will create a mrtg configuration file for you. You can find the script in the
bin subdirectory.
cfgmaker --global 'WorkDir: /home/httpd/mrtg' \ --global 'Options: bits,growright' \ --output /home/mrtg/cfg/mrtg.cfg \ community@router.abc.xyz
/home/mrtg/cfg—ifref=ip
If you want to start rolling your own mrtg configuration files, make sure you read mrtg-reference to learn all about the possible configuration
options.
Пишем systemd Unit файл
Первое что стоит сделать — так это проверить инициализацию:
# ps -s1| awk '{print $4}'| grep -Ev "CMD"
PS: Вот небольшая статья:
Файлы шаблонов блоков могут быть определены, потому что они содержат символ @ после имени базового блока и перед суффиксом блокового типа. Имя файла блока с шаблоном может выглядеть следующим образом:
my_test@.service
Из созданного блока ( что выше) можно создать экземпляр др блока, который выглядит следующим образом:
my_test@instance1.service
Мощность файлов шаблонных модулей в основном проявляется благодаря возможности динамически подставлять соответствующую информацию в определение устройства в соответствии со средой (ENV). Это делается путем установки директив в файл шаблона как обычно, но заменяя определенные значения или части значений спецификаторами переменных.
Ниже приведены некоторые из наиболее распространенных спецификаторов, которые будут заменены, когда юнит-экземпляра интерпретируется с соответствующей информацией:
- %n: В любом месте, где это используется, будет добавлено полное имя элемента.
- %N: Это то же самое, что и выше, но любое экранирование, такое как те, что присутствуют в шаблонах пути файла, будет отменено.
- %p: Это указывает префикс имени юнита. Это часть названия юнита, которая предшествует символу @.
- %P: Это то же самое что и выше, но с любым отступлением.
- %i: Это ссылается на имя экземпляра, которое является идентификатором, следующим за @ в экземпляре. Это один из наиболее часто используемых спецификаторов, поскольку он динамичный. Использование этого идентификатора поощряет использование значимых идентификаторов конфигурации. Например, порт, в котором будет выполняться служба, может использоваться как идентификатор экземпляра, и шаблон может использовать этот спецификатор для настройки спецификации порта.
- %I: Этот спецификатор такой же, как и выше, но с любым отступлением.
- %f: Это будет заменено на имя неэкранированного юнита или имя префикса, добавленное к «/».
- %c: Это будет указывать на управляющую группу устройства со стандартной родительской иерархией /sys/fs/cgroup/ssytemd.
- %u: Имя пользователя, настроенного для запуска юнита.
- %U: То же, что и выше, UID вместо имени.
- %H: Имя хоста системы, на котором выполняется юнит.
- %%: Это используется для вставки буквенного знака процента.
Используя приведенные выше идентификаторы в шаблоне файла, Systemd заполнит правильные значения при интерпретации шаблона для создания юнит-экземпляра.
#5. Zabbix
Ключевые особенности:
- Zabbix – это бесплатный инструмент для мониторинга серверов с открытым исходным кодом.
- Мы можем легко контролировать серверы, приложения и сетевые устройства, что дает точную статистику и данные о производительности.
- Данные, собранные Zabbix, позволяют легко проанализировать нашу инфраструктуру.
Типы мониторинга, выполняемые Zabbix:
- Мониторинг сети
- Мониторинг сервера
- Облачный мониторинг
- Мониторинг приложений
- Мониторинг служб
Zabbix имеет сквозное шифрование и хорошую аутентификацию, и благодаря этому Zabbix имеет надежную защиту.
В Zabbix есть несколько веток, поэтому распределенный мониторинг возможен одновременно.
Преимущества:
- Zabbix разработан для масштабирования от небольших сред до больших сред.
- Zabbix доверяют такие мировые бренды, как Dell, HP, Salesforce, T Systems и т. Д.
- Zabbix имеет высокую доступность, потому что у него несколько серверов, таких как прокси-серверы, поэтому нагрузка распределяется.
см. также:
CONFIGURATION
mrtg.cfgcfgmakerbin
cfgmaker --global 'WorkDir: /home/httpd/mrtg' \ --global 'Options: bits,growright' \ --output /home/mrtg/cfg/mrtg.cfg \ community router.abc.xyz
This example above will create an mrtg config file in
/home/mrtg/cfg assuming this is a directory visible on your
webserver. You can read all about cfgmaker in cfgmaker. One area you might
want to look at is the possibility of using —ifref=ip to prevent
interface renumbering troubles from catching you.
If you want to start rolling your own mrtg configuration files, make sure
you read mrtg-reference to learn all about the possible configuration options.
LIBRARY COMPILATION
*BSDLinuxwgetnetscapewget
First let’s create a directory for the compilation. Note that this may
already exist on your system. No problem, just use it.
mkdir -p /usr/local/src cd /usr/local/src
If you do not have zlib installed:
wget http://www.zlib.net/zlib-1.2.3.tar.gz gunzip -c zlib-*.tar.gz | tar xf - rm zlib-*.tar.gz mv zlib-* zlib cd zlib ./configure make cd ..
If you don’t have libpng installed
wget ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.2.40.tar.gz gunzip -c libpng-1.2.34.tar.gz | tar xf - mv libpng-* libpng cd libpng env CFLAGS="-O3 -fPIC" ./configure --prefix=$INSTALL_DIR make rm *.so.* *.so cd ..
And now you can compile gd
For versions up to 1.8.4, try:
wget http://www.boutell.com/gd/http/gd-1.8.4.tar.gz gunzip -c gd-*.tar.gz |tar xf - rm gd-*.tar.gz mv gd-* gd cd gd
The \ characters at the end of the following lines mean that all the
following material should actually be written on a single line.
perl -i~ -p -e s/gd_jpeg.o//g Makefile make INCLUDEDIRS="-I. -I../zlib -I../libpng" \ LIBDIRS="-L../zlib -L. -L../libpng" \ LIBS="-lgd -lpng -lz -lm" \ CFLAGS="-O -DHAVE_LIBPNG" cd ..
For versions starting around 2.0.11, try:
Dmesg Command in Linux
21 Декабря 2019
|
Терминал
В этом руководстве мы рассмотрим основы dmesg команды.
Ядро Linux — это ядро операционной системы, которое контролирует доступ к системным ресурсам, таким как процессор, устройства ввода-вывода, физическая память и файловые системы. Ядро записывает различные сообщения в кольцевой буфер ядра в процессе загрузки и во время работы системы. Эти сообщения содержат различную информацию о работе системы.
Кольцевой буфер ядра — это часть физической памяти, которая содержит сообщения журнала ядра. Он имеет фиксированный размер, что означает, что после заполнения буфера старые записи журналов перезаписываются.
Утилита командной строки используется для печати и управления кольцевого буфера ядра в Linux и других Unix-подобных операционных систем. Это полезно для изучения загрузочных сообщений ядра и устранения проблем, связанных с оборудованием.
Использование команды
Синтаксис команды следующий:
При вызове без каких-либо параметров записывает все сообщения из кольцевого буфера ядра в стандартный вывод:
По умолчанию все пользователи могут запускать команду. Однако в некоторых системах доступ к ним может быть ограничен для пользователей без полномочий root. В этой ситуации при вызове вы получите сообщение об ошибке, как показано ниже:
Параметр ядра указывает, могут ли непривилегированные пользователи просматривать сообщения из буфера журнала ядра. Чтобы снять ограничения, установите его на ноль:
Обычно выходные данные содержат много строк информации, так что только последняя часть выходных данных является видимой. Чтобы увидеть одну страницу за раз, перенаправьте вывод в утилиту пейджера, такую как или :
Используется для сохранения цветного вывода.
Если вы хотите фильтровать сообщения буфера, используйте . Например, чтобы просмотреть только сообщения, связанные с USB, вы должны набрать:
читает сообщения, сгенерированные ядром, из виртуального файла. Этот файл предоставляет интерфейс к кольцевому буферу ядра и может быть открыт только одним процессом. Если в вашей системе запущен процесс, и вы пытаетесь прочитать файл с помощью , или , команда зависнет.
Демон отвалов сообщения ядра , так что вы можете использовать этот файл журнала:
Команда предоставляет ряд опций, которые помогут вам отформатировать и отфильтровать вывод.
Одна из наиболее часто используемых опций — это ( ), которая обеспечивает удобочитаемый вывод. Эта опция направляет вывод команды в пейджер:
Для печати удобочитаемых временных меток используйте опцию ( ):
Формат отметок времени также может быть установлен с помощью параметра, который может быть ctime, reltime, delta, notime или iso. Например, чтобы использовать дельта-формат, введите:
Вы также можете объединить два или более вариантов:
Чтобы просмотреть вывод команды в режиме реального времени, используйте параметр ( ):
Фильтрация вывода
Вы можете ограничить вывод данными объектами и уровнями.
Средство представляет процесс, который создал сообщение. поддерживает следующие возможности журнала:
- — сообщения ядра
- — сообщения уровня пользователя
- — почтовая система
- — системные демоны
- — сообщения безопасности / авторизации
- — внутренние сообщения syslogd
- — подсистема линейного принтера
- — подсистема сетевых новостей
Опция ( ) позволяет ограничить вывод определенными объектами. Опция принимает одно или несколько разделенных запятыми объектов.
Например, для отображения только сообщений ядра и системных демонов вы должны использовать:
Каждое сообщение журнала связано с уровнем журнала, который показывает важность сообщения. поддерживает следующие уровни журнала:
- — система неработоспособна
- — действие должно быть предпринято немедленно
- — критические условия
- — условия ошибки
- — условия предупреждения
- — нормальное, но значимое состояние
- — информационный
- — сообщения уровня отладки
Опция ( ) ограничивает вывод определенными уровнями. Опция принимает один или несколько уровней, разделенных запятыми.
Следующая команда отображает только сообщения об ошибках и критические сообщения:
Очистка кольцевого буфера
Опция ( ) позволяет очистить кольцевой буфер:
Только root или пользователи с привилегиями sudo могут очистить буфер.
Чтобы распечатать содержимое буфера перед очисткой, используйте параметр ( ):
Если вы хотите сохранить текущие журналы в файле перед его очисткой, перенаправьте вывод в файл:
Вывод
Команда позволяет вам просматривать и контролировать кольцевой буфер ядра. Это может быть очень полезно при устранении проблем с ядром или оборудованием.
Введите в своем терминале информацию о всех доступных опциях.
Установка MRTG на Ubuntu 18.04
Все предварительные условия в порядке, поэтому мы можем установить MRTG, выполнив команду:
# sudo apt-get install mrtg
Примите всплывающее приглашение и нажмите «YES», чтобы начать установку.
Настройка MRTG
По завершении процесса установки вам необходимо настроить его, прежде чем вы сможете начать мониторинг целевых устройств. Мы установим рабочий каталог MRTG как / srv / mrtg
# mkdir / var / www / mrtg
Убедитесь, что владельцем этого каталога является www-data, который является учетной записью пользователя по умолчанию для веб-сервера Apache
# chown -R www-data: www-data / var / www / mrtg
Затем отредактируйте /etc/mrtg.conf, чтобы установить Рабочий каталог:
# cat /etc/mrtg.cfg | grep -v "^ #" WorkDir: /var/www/mrtg WriteExpires: Yes Title: Traffic Analysis for
Перестроить конфигурацию MRTG из измененного файла:
# cfgmaker public@localhost > /etc/mrtg.cfg --base: Get Device Info on public@localhost: --base: Vendor Id: Unknown Vendor - 1.3.6.1.4.1.8072.3.2.10 --base: Populating confcache --base: Get Interface Info --base: Walking ifIndex --snpd: public@localhost: -> 1 -> ifIndex = 1 --snpd: public@localhost: -> 2 -> ifIndex = 2 --snpd: public@localhost: -> 3 -> ifIndex = 3 --base: Walking ifType --snpd: public@localhost: -> 1 -> ifType = 24 --snpd: public@localhost: -> 2 -> ifType = 6 --snpd: public@localhost: -> 3 -> ifType = 6 --base: Walking ifAdminStatus --snpd: public@localhost: -> 1 -> ifAdminStatus = 1 --snpd: public@localhost: -> 2 -> ifAdminStatus = 1 --snpd: public@localhost: -> 3 -> ifAdminStatus = 1 --base: Walking ifOperStatus --snpd: public@localhost: -> 1 -> ifOperStatus = 1 --snpd: public@localhost: -> 2 -> ifOperStatus = 1 --snpd: public@localhost: -> 3 -> ifOperStatus = 1 --base: Walking ifMtu --snpd: public@localhost: -> 1 -> ifMtu = 65536 --snpd: public@localhost: -> 2 -> ifMtu = 1500 --snpd: public@localhost: -> 3 -> ifMtu = 1500 --base: Walking ifSpeed --snpd: public@localhost: -> 1 -> ifSpeed = 10000000 --snpd: public@localhost: -> 2 -> ifSpeed = 0 --snpd: public@localhost: -> 3 -> ifSpeed = 0
# ls /var/www/mrtg/ index.html mrtg-l.png mrtg-m.png mrtg-r.png
Создать страницу для веб-сервера:
# indexmaker /etc/mrtg.cfg> /var/www/mrtg/index.html
Последнее, что нужно сделать, это создать файл VirtualHost для сайта.
# vim /etc/apache2/sites-available/mrtg.conf
Добавьте в этот новый файл следующее:
Alias /mrtg "/var/www/mrtg/" <Directory "/var/www/mrtg/"> Options None AllowOverride None Require all granted </Directory>
Включите сайт и перезагрузите службу apache.
# sudo a2ensite mrtg
Обновить сервис Apache:
# systemctl reload apache2
Доступ к интерфейсу MRTG
Перейдите на http: // ip-address / mrgt или http: // servername / mrtg tp, чтобы получить доступ к веб-интерфейсу MRTG.
Мониторинг интерфейса должен начать показывать трафик:
По умолчанию также используется график по умолчанию для интерфейса
Вы можете настроить MRTG для мониторинга других вещей, таких как ОЗУ, использование ЦП, Swap, Disk и тд
Preparation
In order to compile and use mrtg you need a C compiler and a copy of perl installed on your machine. In most cases this will already be available. In case
it is not, here are some starting points. Below I’ll give you a detailed run through the whole compilation process.
- GCC
The GNU C compiler comes preinstalled on most of the free Unicies out there. For commercial derivatives you may have to download and compile
it first. If you have no compiler at all there is a chicken and egg problem, but there are also precompiled versions of gcc available for most operating
systems.
http://gcc.gnu.org/
Perl
Large parts of the MRTG system are written in the Perl scripting language. Make sure there is a recent copy of perl on your machine (try perl
-v). At least version 5.005 is required for mrtg to work well. If you use SNMPV3 and other new features you should use at least 5.8.
You can get the latest perl from
http://www.perl.com/
MRTG generates traffic graphs in the PNG format. To be able to do this it needs several 3rd party libraries. When compiling
these libraries I urge you to make sure you compile them as static libraries. There is just much less trouble ahead if you are doing it like this. See
the Instructions in the next section for inspiration. Note that many free unices have all the required libraries already in place so there is no need to
install another copy. To check it is best to skip all the library instructions below and go straight into the mrtg compile.
gd
This is a basic graph drawing library created by Thomas Boutell. Note that all releases after Version 1.3 only create PNG images. This is
because a) Thomas got into trouble because the GIF format which it used to produce uses a compression technology patented by Unisys. b)
PNG is more efficient and patent free. MRTG can work with old and new version of the GD library. You can get a
recent copy of GD from:
http://www.boutell.com/gd/
libpng
Is required by gd in order to produce PNG graphics files. Get it from:
http://www.libpng.org/pub/png/libpng.html
zlib
Is needed by libpng to compress the graphics files you create. Get a copy from
http://www.gzip.org/zlib
And last but not least you also need mrtg itself. In case you have not yet downloaded it, you can find a copy on my website:
http://oss.oetiker.ch/mrtg/pub
#8. MRTG
Ключевые особенности:
- MRTG расшифровывается как Multi Router Traffic Grapher.
- MRTG – это инструмент мониторинга сети.
- MRTG использует SNMP (Simple Network Management Protocol для мониторинга сетевого трафика.
- У MRTG есть агент, который знает управленческую информацию на местном уровне.
- NMS (Network Management System) система в MRTG, которая запускает приложения, которые контролирует управляемые устройства.
- В управляемом устройстве MTRG содержит агент SNMP и находится в управляемой сети.
Преимущества:
- MRTG предоставляет ресурсы, необходимые для управления сетью.
- Агент делает информацию доступной по протоколу SNMP.
- С помощью MRTG анализируется сетевой трафик.
- Живой сетевой трафик такой анализируется в MRTG.
- Сетевой трафик также отслеживается на наших сетевых портах и ссылках.
- MRTG – это инструмент мониторинга с открытым исходным кодом.
- Есть оптимизация сети.
- Есть устранение неполадок сети.
см. также:
MRTG COMPILATION
cd /usr/local/src gunzip -c mrtg-2.17.4.tar.gz | tar xvf - cd mrtg-2.17.4
If all the libraries have been preinstalled on your system you can
configure mrtg by doing a simple:
./configure --prefix=/usr/local/mrtg-2
Otherwise you may have to give some hints on where to find the
various libraries required to compile mrtg:
./configure --prefix=/usr/local/mrtg-2 \ --with-gd=/usr/local/src/gd \ --with-z=/usr/local/src/zlib \ --with-png=/usr/local/src/libpng
If you have RRDtool available you might want to tell mrtg about it
so that you can opt to use rrdtool with mrtg. Check mrtg-rrd.
Configure will make sure your environment is fit for building mrtg.
If it finds a problem, it will tell you so and it will also tell
you what to do about it. If everything is OK, you will end up with
a custom Makefile for your system. Now type:
make
This builds the rateup binary and edits all the perl pathnames in
the scripts. You can now install mrtg by typing
make install (requires gnu install)
All the software required by MRTG is now installed under
the /usr/local/mrtg-2 subdirectory.
You can now safely delete the libraries we compiled above. Then
again, you might want to keep them around so that you have them
available when compiling the next version of mrtg.