Jump to content

#280. Мониторинг с помощью RRDTOOL


Recommended Posts

Posted

cacti основаная на том-же rrdtool намного функциональнее, и выглядит сексуальнее. Надо только дать труд себе в ней разобраться. И к mrtg то же самое приколачивается точно-также. Но у mrtg по сравнению с cacti есть один неприятный недостаток. Оборудование cisco при добавлении-убавлении интерфейсов имеет свойство менять их логические номера, и становится лениво систематически править два конфига (в цыске и в мртг). cacti этот вопрос решает =)

 

PS: zabbix не трогал, лениво ставить zope но должна быть вещь тоже оч пристойная.

Posted

CPU=`/sbin/sysctl -a | grep hw.sensors.11 | awk '{ print $4}'`
CHIPSET=`/sbin/sysctl -a | grep hw.sensors.9 | awk '{ print $4}'`
HDD1=`/usr/local/sbin/smartctl -A /dev/wd0c | grep Temperature_Celsius | awk '{print $10}'`

так пожалуй красивше

CPU=`/sbin/sysctl -n hw.sensors.11`
CHIPSET=`/sbin/sysctl -n hw.sensors.9`
HDD1=`/usr/local/sbin/smartctl -A /dev/wd0c | awk '$1=="194" {print $10}'`

Posted
в mrtg есть привязка к интерфейсам

Есть. Только когда меняется его snmp oid то приходится делать все снова врукопашную. Когда интерфейсы физические - все ровно. А когда наличествуют сабинтерфейсы и виланы, которые имеют свойство перемещаться, тогда вырастает полная дзадницо =(

Posted (edited)

Можно использовать всё что угодно, много инструментов для мониторинга, статью для того чтобы люди могли увидеть как самим сделать свой cacti :)

Edited by M!KE
Posted
CPU=`/sbin/sysctl -a | grep hw.sensors.11 | awk '{ print $4}'`
CHIPSET=`/sbin/sysctl -a | grep hw.sensors.9 | awk '{ print $4}'`
HDD1=`/usr/local/sbin/smartctl -A /dev/wd0c | grep Temperature_Celsius | awk '{print $10}'`

так пожалуй красивше

CPU=`/sbin/sysctl -n hw.sensors.11`
CHIPSET=`/sbin/sysctl -n hw.sensors.9`
HDD1=`/usr/local/sbin/smartctl -A /dev/wd0c | awk '$1=="194" {print $10}'`

согласен:) оставил как есть у автора, чтобы скрипт маленько был поуниверсальнее...

Posted
ram_scan повтрою ещё раз, привязка к ИНТЕРФЕЙСУ, а не к его oid

Привязка к интерфейсу делается через генерирование конфижника который интерфейс привязывает к OID. Каждый раз это делать - помрешь, особенно когда портов хотя-бы под тыщу. Не каждый раз это делать - просто забываешь.

Posted
ram_scan повтрою ещё раз, привязка к ИНТЕРФЕЙСУ, а не к его oid
МРТГ вообще много к чему умеет вязаться

--ifref=nr interface references by Interface Number (default)

--ifref=ip ... by Ip Address

--ifref=eth ... by Ethernet Number

--ifref=descr ... by Interface Description

--ifref=name ... by Interface Name

--ifref=type ... by Interface Type

 

Уж точно ко всему, к чему умеет какти. Какти оно проще конечно, там все мышем, в мртг все ручками.

(ну или внешними скриптами...) Но что там, что там конфиги можно генерить самому, для MRTG они текстовые, для cacti они в базе лежат. Вот и весь разниц.

 

В люблм случае, если конфиг для кошки генерится скриптом, то тот же скрипт нальет и конфиг для MRTG...

Posted (edited)
st_re я т о об этом знаю, а вот ram_scan... :)

Парни, вы таки не поняли походу об чем я. Я знаю что привязать можно к чему угодно, но в конфиге все равно оно застряет своим snmp oid'ом. Необходимость запускать cfgmaker каждый раз после того как у меня где-то добавляется и убавляется интерфейс меня обламывает не по деццки. А не запускать его низзя потому-что цыска при операции добавления-сноса интерфейса/сабинтерфейса имеет свойства менять их и не только их snmp oids. То есть можно один интерфейс добавить, один снести, и сьедут после этого все что были.

 

Я из-за этого и ушел на cacti, там это тоже надо делать, но она по крайней мере это делает сама =)

Edited by ram_scan
Posted
ram_scan, нет ну ты доки читать будешь или как?

читать "Per target configuration"

Так, f13, если я правильно понял то в snmp oid для интерфейса в mrtg появилась таки макроподстановка по типам ? Если да - посыпаю голову пеплом публично.

Posted

ram_scan, нет ну ты доки читать будешь или как?

читать "Per target configuration"

Так, f13, если я правильно понял то в snmp oid для интерфейса в mrtg появилась таки макроподстановка по типам ? Если да - посыпаю голову пеплом публично.

второй раз тоже посыпешь? =)

 

snmp-server ifindex persist

Posted (edited)

fozz, не вопрос, и второй раз тоже посыплю =) Более того, не знал я о наличии такой фичи, и руки прочесть не дошли. Бо документация толстая, а бошка все-таки маленькая. Так что считай два раза посыпал =)

Edited by ram_scan
Posted

Еще. Софт, подобный cacti легко умеет предоставлять "юзабельный сёрфинг" с "читабельным" масштабом на/за любой период сбора данных. В МРТГ, опять же, приходится ручками долго ("сравнимо", например с cacti) %!"? (трудиться), что бы все это упростить - автоматизировать.

Posted
У меня "/sbin/sysctl -a | grep hw.sensors" ничего не выводит. :(

ОС FreeBSD 5.4

потому что hw.sensors это в ядре опенБСД, эти фишки юзает sensorsd, точно не знаю но во фре не так, посмотрю как - скажу:)
Posted

ага, а еще эти фишки есть только для строго определенных серверных материнок.

а для (почти) всех остальных в FreeBSD есть /usr/ports/sysutils/mbmon

 

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

Posted

нехорошо наверное в дискуссию таких "зубров" влезать... но все же внесу свои "пять копеек":

Рисовать графики раз в сколько-то минут необязательно. в комплекте с RRDTool идет rrdcgi -- последняя позволяет выполнять некоторые действия, в том числе и рисовать графики.

 

пример кода

#!/usr/local/rrdtool/bin/rrdcgi
<HTML>
<HEAD><TITLE>Traffic stat</TITLE></HEAD>
<BODY>
<H3>traffic stat for <RRD::CV RRD_NAME>, step<RRD::CV RRD_TIME> sec.</H3>
<H4>Select time</H4>
<FORM><INPUT NAME=RRD_TIME TYPE=RADIO VALUE="-43200">1  day<br>
      <INPUT NAME=RRD_TIME TYPE=RADIO VALUE="-86400"> 2 days <br>
      <INPUT NAME=RRD_TIME TYPE=RADIO VALUE="-2419200"> 1 month <br>
<INPUT TYPE=SUBMIT>
</FORM>
<RRD::PRINT>
<P><RRD::GRAPH /home/stat/traf.png --imginfo '<IMG SRC=/stat/traf.png></IMG>'
--imgformat=PNG -h 150 -w 600 -s <RRD::CV RRD_TIME>
-t "traffic"
-v ""
--slope-mode
DEF:rlin=/var/db/rrd/traf.rrd:rlin:AVERAGE
DEF:rlout=/var/db/rrd/traf.rrd:rlout:AVERAGE
CDEF:kbin=rlin,1024,/
CDEF:kbout=rlout,1024,/
AREA:rlin#00FF00:"In"
GPRINT:kbin:LAST:\:"%3.2lf Kbps \n"
LINE1:rlout#0000FF:"Out"
GPRINT:kbout:LAST:\:"%3.2lf Kbps \n"
>
</P>
</BODY>
</HTML>

 

вообще передавать время в качестве аргумента как решение выглядит достаточно рисковым, но у меня эта статистика доступна только "своим". можно время не передавать аргументом а сразу вкрутить в код -- это безопаснее.

права на файлы:

-r-x------   1 www   www      874 Aug 26 21:05 traf.cgi
-rw-------   1 www   www    20232 Aug 29 10:53 traf.png
surface#

 

надеюсь кому-нибудь пригодится

с уважением

Posted
нехорошо наверное в дискуссию таких "зубров" влезать... но все же внесу свои "пять копеек":

Рисовать графики раз в сколько-то минут необязательно. в комплекте с RRDTool идет rrdcgi -- последняя позволяет выполнять некоторые действия, в том числе и рисовать графики.

 

пример кода

#!/usr/local/rrdtool/bin/rrdcgi
<HTML>
<HEAD><TITLE>Traffic stat</TITLE></HEAD>
<BODY>
<H3>traffic stat for <RRD::CV RRD_NAME>, step<RRD::CV RRD_TIME> sec.</H3>
<H4>Select time</H4>
<FORM><INPUT NAME=RRD_TIME TYPE=RADIO VALUE="-43200">1  day<br>
      <INPUT NAME=RRD_TIME TYPE=RADIO VALUE="-86400"> 2 days <br>
      <INPUT NAME=RRD_TIME TYPE=RADIO VALUE="-2419200"> 1 month <br>
<INPUT TYPE=SUBMIT>
</FORM>
<RRD::PRINT>
<P><RRD::GRAPH /home/stat/traf.png --imginfo '<IMG SRC=/stat/traf.png></IMG>'
--imgformat=PNG -h 150 -w 600 -s <RRD::CV RRD_TIME>
-t "traffic"
-v ""
--slope-mode
DEF:rlin=/var/db/rrd/traf.rrd:rlin:AVERAGE
DEF:rlout=/var/db/rrd/traf.rrd:rlout:AVERAGE
CDEF:kbin=rlin,1024,/
CDEF:kbout=rlout,1024,/
AREA:rlin#00FF00:"In"
GPRINT:kbin:LAST:\:"%3.2lf Kbps \n"
LINE1:rlout#0000FF:"Out"
GPRINT:kbout:LAST:\:"%3.2lf Kbps \n"
>
</P>
</BODY>
</HTML>

 

вообще передавать время в качестве аргумента как решение выглядит достаточно рисковым, но у меня эта статистика доступна только "своим". можно время не передавать аргументом а сразу вкрутить в код -- это безопаснее.

права на файлы:

-r-x------   1 www   www      874 Aug 26 21:05 traf.cgi
-rw-------   1 www   www    20232 Aug 29 10:53 traf.png
surface#

 

надеюсь кому-нибудь пригодится

с уважением

я думаю, могу выразить мнение хозяина, что влезать нужно всегда, если по существу :)

В данном случае не совсем по существу..

 

Во первых разница MRTG и RRDTOOL в том и состоит, что MRTG действительно раз в несколько минут перерисовывает картинки а RRDTOOL только базы обновляет (извините, но это FAQ + RTFM).

Во вторых, код с настолько серьезным недочетом секюрити лучше сразу давать правленным (или явно указывать где и что править).

 

далее идет безопасный код, но без возможности изменения периода вывода:

 

#!/usr/local/rrdtool/bin/rrdcgi
<HTML>
<HEAD><TITLE>Traffic stat</TITLE></HEAD>
<BODY>
<H3>traffic stat for <RRD::CV RRD_NAME>, step<RRD::CV RRD_TIME> sec.</H3>
<H4>Select time</H4>
<FORM><INPUT NAME=RRD_TIME TYPE=RADIO VALUE="-43200">1  day<br>
      <INPUT NAME=RRD_TIME TYPE=RADIO VALUE="-86400"> 2 days <br>
      <INPUT NAME=RRD_TIME TYPE=RADIO VALUE="-2419200"> 1 month <br>
<INPUT TYPE=SUBMIT>
</FORM>
<RRD::PRINT>
<P><RRD::GRAPH /home/stat/traf.png --imginfo '<IMG SRC=/stat/traf.png></IMG>'
--imgformat=PNG -h 150 -w 600 -s -43200
-t "traffic"
-v ""
--slope-mode
DEF:rlin=/var/db/rrd/traf.rrd:rlin:AVERAGE
DEF:rlout=/var/db/rrd/traf.rrd:rlout:AVERAGE
CDEF:kbin=rlin,1024,/
CDEF:kbout=rlout,1024,/
AREA:rlin#00FF00:"In"
GPRINT:kbin:LAST:\:"%3.2lf Kbps \n"
LINE1:rlout#0000FF:"Out"
GPRINT:kbout:LAST:\:"%3.2lf Kbps \n"
>
</P>
</BODY>
</HTML>

 

С Уважением,

Zyxman.

Posted

cgi - тоже вариант, "зубры" :) - не против вариантов, вариант также не ставить апач, ставить всё что угодно, хоть на фтп картинки выкладывать, скрипт есть скрипт со всеми вытекающими... нет смысла обсуждать что лучше, а что хуже, тем-то и хорошо, что всегда есть варианты - каждому свои... пока opensource позволяет....

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.