Мониторинг S.M.A.R.T. с помощью Cacti (Ubuntu 12.04)

Дата: 29/05/2014
Тема: Linux

Cacti — open-source веб-приложение, система позволяет строить графики при помощи RRDtool. Cacti собирает статистические данные за определённые временные интервалы и позволяет отобразить их в графическом виде. Преимущественно используются стандартные шаблоны для отображения статистики по загрузке процессора, выделению оперативной памяти, количеству запущенных процессов, использованию входящего/исходящего трафика.

Установка

#apt-get install cacti

 

Пароль root от базы MySql

 

Пользовательский пароль для доступа Cacti к базе данных

 

Выбор веб-сервера

 

После установки надо завершить настройку для этого в браузере прейдите по адресу http://192.16.1.1/cacti - где 192.16.1.1 это айпи сервера где установлен Cacti

 

 

 

Как только нажмете на кнопку "Finish" Вы должны быть перенаправлены на главную страницу Cacti.

Создание устройства

Перейдите по ссылке в консоли Cacti "Management>Device>Add"

 

Devices >General Host Options> Description = Описание

Devices >General Host Options> Hostname = айпи адрес или доменное имя

Devices >General Host Options> Host Template = шаблон для определения шаблонов графиков и запросов данных

Devices >SNMP Options>SNMP Version = версия snmp

Devices > SNMP Options>SNMP Community = сообщество

Теперь cacti настроен.

Получение даннх S.M.A.R.T. через snmp

Для мониторинга S.M.A.R.T. нужно создать запрос для получения индексированных данных из SNMP для Cacti и поместить его в файл /usr/share/cacti/resource/snmp_queries /smartdrive.xml.

в этой статье http://andy.od.ua/news_49.html написано как настроить snmp для отдачи S.M.A.R.T.

Прежде чем создать запрос надо узнать OID'ы тех значений которые нам нужны.

С начало запрос с MIB для сравнения:

#snmpwalk -c ServerRO -v 2c localhost NET-SNMP-EXTEND-MIB::nsExtendObjects
NET-SNMP-EXTEND-MIB::nsExtendNumEntries.0 = INTEGER: 7
NET-SNMP-EXTEND-MIB::nsExtendCommand."model" = STRING: /etc/snmp/attrsmart.sh
NET-SNMP-EXTEND-MIB::nsExtendCommand."device" = STRING: /etc/snmp/attrsmart.sh
.....
NET-SNMP-EXTEND-MIB::nsExtendOutLine."device".1 = STRING: sda
NET-SNMP-EXTEND-MIB::nsExtendOutLine."device".2 = STRING: sdb
NET-SNMP-EXTEND-MIB::nsExtendOutLine."seekerrorrate".1 = STRING: 0
NET-SNMP-EXTEND-MIB::nsExtendOutLine."seekerrorrate".2 = STRING: 713406629

и запрос c OID

#snmpwalk -c ServerRO -On -v 2c localhost NET-SNMP-EXTEND-MIB::nsExtendObjects
.1.3.6.1.4.1.8072.1.3.2.1.0 = INTEGER: 6
.1.3.6.1.4.1.8072.1.3.2.2.1.2.5.109.111.100.101.108 = STRING: /etc/snmp/hddtemp.sh
.1.3.6.1.4.1.8072.1.3.2.2.1.2.6.100.101.118.105.99.101 = STRING: /etc/snmp/hddtemp.sh
.1.3.6.1.4.1.8072.1.3.2.2.1.2.11.116.101.109.112.101.114.97.116.117.114.101 = STRING: /etc/snmp/attrsmart.sh
.1.3.6.1.4.1.8072.1.3.2.2.1.2.12.114.97.119.114.101.97.100.101.114.114.111.114 = STRING: /etc/snmp/attrsmart.sh
......
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.100.101.118.105.99.101.1 = STRING: sda
.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.100.101.118.105.99.101.2 = STRING: sdb
.1.3.6.1.4.1.8072.1.3.2.4.1.2.13.115.101.101.107.101.114.114.111.114.114.97.116.101.1 = STRING: 0
.1.3.6.1.4.1.8072.1.3.2.4.1.2.13.115.101.101.107.101.114.114.111.114.114.97.116.101.2 = STRING: 713406629

Данные находятся в "NET-SNMP-EXTEND-MIB::nsExtendOutLine." далее это имя значения "seekerrorrate" и индекс ".1"

Для NET-SNMP-EXTEND-MIB::nsExtendOutLine."seekerrorrate".1

будет OID

.1.3.6.1.4.1.8072.1.3.2.4.1.2.13.115.101.101.107.101.114.114.111.114.114.97.116.101.1

убираем индекс в конце ".1" и получаем нужный нам OID

.1.3.6.1.4.1.8072.1.3.2.4.1.2.13.115.101.101.107.101.114.114.111.114.114.97.116.101

теперь можно составлять файл запроса.

Содержимое файла smartdrive.xml

<interface>
	<name>Get Monitored Smart</name>
	<oid_index>.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.100.101.118.105.99.101</oid_index>
	<index_order>smDescriptions:smDevices</index_order>
	<index_order_type>numeric</index_order_type>
	<index_title_format>SMART#|chosen_order_field|</index_title_format>
	<fields>
		<smDevices>
			<name>Index</name>
			<method>walk</method>
			<source>value</source>
			<direction>input</direction>
			<oid>.1.3.6.1.4.1.8072.1.3.2.4.1.2.6.100.101.118.105.99.101</oid>
		</smDevices>
		<smDescriptions>
			<name>Description</name>
			<method>walk</method>
			<source>value</source>
			<direction>input</direction>
			<oid>.1.3.6.1.4.1.8072.1.3.2.4.1.2.5.109.111.100.101.108</oid>
		</smDescriptions>
		<smTemperature>
			<name>Temperature</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.4.1.8072.1.3.2.4.1.2.11.116.101.109.112.101.114.97.116.117.114.101</oid>
		</smTemperature>
		<smRawReadErrorRate>
			<name>Raw_Read_Error_Rate</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.4.1.8072.1.3.2.4.1.2.12.114.97.119.114.101.97.100.101.114.114.111.114</oid>
		</smRawReadErrorRate>		
		<smSeekErrorRate>
			<name>Seek_Error_Rate</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.4.1.8072.1.3.2.4.1.2.13.115.101.101.107.101.114.114.111.114.114.97.116.101</oid>
		</smSeekErrorRate>	
		<smReallocatedSectorCt>
			<name>Reallocated_Sector_Ct</name>
			<method>walk</method>
			<source>value</source>
			<direction>output</direction>
			<oid>.1.3.6.1.4.1.8072.1.3.2.4.1.2.13.114.101.108.111.99.115.101.99.99.111.117.110.116</oid>
		</smReallocatedSectorCt>					
	</fields>
</interface>

Создание шаблона данных.

В консоли Cacti нажимаем на ссылку "Data Templates" и добавляем "Ссылка с права вверху Add " каждое поле (smTemperature, smRawReadErrorRate, smSeekErrorRate, smReallocatedSectorCt)

 

Data Source>Name = |host_description| - SMART Temp  |query_smDescriptions| (Заголовок шаблона данных = "Название хоста" название параметра и описание ).

Data Source Item> Internal Data Source Name = smTemperature (параметр который будет отображен на графике).

точно так добавляются и все остальные параметры.

Создание шаблона графика.

Переходим по ссылке в консоли cacti "Graph Templates">"Add"

Graph Template>Title (--title) = Название которое будет использоваться на графике (|host_description| - SMART Temperature  |query_smDescriptions|)

Добавление элементов на график.

После создание шаблона графика на него добавляем элементы значение которых будут получены в результате запроса и т.п.

  

Item # 1

 

Item # 2

 

Graph Item Inputs

 

 

Создание запроса данных.

Переходим по ссылке в консоли "Collection Methods> Data Queries" и добавляем  " ссылка с права вверху Add" запрос данных.

 

Форма добавление

 

в XML Path указываем расположение файла с запросом /resource/snmp_queries/smartdrive.xml

В "Associated Graph Templates" ассоциируем с ранее созданными шаблонами графиков

Осталось создать график для устройства

Для этого надо добавить запрос данных S.M.A.R.T. к устройству в меню кликаем на "Management>Device" выбираем устройство из списка и добавляем запрос данных к устройству

 

Кликаем слева в меню на "Create>New Graphs" выбираем "Host" и выбираем диск и тип графика с нужным атрибутом S.M.A.R.T.

 

в результате получаем вот такой график

 

 



Это статья "Домашняя страничка Andy"
http://andy.od.ua

URL этой статьи: http://andy.od.ua/news_50.html

Яндекс.Метрика