
Linux - monitoring s MRTG
Zdravím.
Jsem jen uživatel a snažím se rozchodit MRTG.
http://www.linuxexpres.cz/praxe/domaci-pocitacova- sit-8
Po samotné instalaci se nám vytvoří v adresáři /var/www/ adresář mrtg, do kterého bude program ukládat veškerá svá data včetně vygenerovaných grafů.
Žalný adresář mrtg se nevytvořil.
sudo nano /etc/mrtg.cfg
WorkDir: /var/www/mrtg
Kde je tedy problém?
Nejsem linuxář.
Nejsem programátor.
Když už něco potřebují, tak jen podle stručného návodu.
Jen slaboproudař.
Koupil jsem si před rokem raspberry pi na hraní.
Mam na to připichlé teplotní čidla přes I2C-1wire - DS2482S-100.
Teplotu čidka mam v /mnt/1wire/28.48D4A8040000/fasttemp
Umím ty eploty načist přes PHP a vykreslit na www.
Rad bych ale nějaké grafy.
zasadne je pri tej "instalaci" (resp. po kazdom prikaze ktory niekam napises) aj citat ze co to vypisalo. Na raspberry mas nejaky raspbian alebo co, ten to vobec nemusi mat v repozitory, apod. (raspberry neni x86 CPU, a teda aplikacie musia byt rekompilovane pre ARM, alebo nie su vobec)
namísto MRTG jsi měl použít modernější RRDtool od stejného autora, který počítá i s jinými zdroji dat než síťovými.
RRDTool
stačí si vytvořit databázi s požadovanými hodnotami, tu plánovaně (např. přes cron) plnit daty - příklad na plnění databáze máš tamtéž (dokonce případ teploty).
JJ.Už jsem také zjistil.
Jdu hledat a trápit se.
Kluci, neumí někdo python?
howto.html
Tu je něco podobného.
Čidlo však není přes I2C-1wire - DS2482S-100 ale přimo v raspi přes 1wire na GPIO pirtu 4.
Tam by mělo stačit změnít tu cestu k souboru
tfile = open("/mnt/1wire/28.48D4A8040000/fasttemp")
a pak jenoum uložit do databaze.
Nepomůže někdo?
proboha, proč python?
proč prostě neuděláš v bashi něco jako
pokud je v tom souboru jen údaj teploty?
edit: cestu k souboru rrd samozřejmě musíš nastavit podle toho, kde sis jej vytvořil.
edit2: pozor na přesný zápis! Je nutno použít správný zpětný apostrof (backtick), který uvozuje výkon dalšího příkazu a vložení jeho stdoutu.
Takže to dat do sh a pak to nějak takto nechat spouštět co 5 minut.
*/5 * * * * pi /home/pi/temps/teplomer1.sh
abys to mohl spouštět z cronu takto, musíš přidat shebang a nastavit chmod-em práva na spuštění.
Shebang: na začátku souboru musí být na první řádce text: #!/bin/bash
chmod: chmod 755 /home/pi/temps/teplomer1.sh
edit: samozřejmě předtím si musíš vytvořit tu databázi (viz wiki) a pak ti ještě zbývá generovat grafy. To výše je pouze záznam aktuálních hodnot do RRD databáze. Dobré je taky si ručně nejprve ověřit funkčnost, tedy že to dělá přesně to co čekáš.
Nějak se v tom zamotávám.
http://blog.turningdigital.com/2012/09/raspberry-p i-ds18b20-temperature-sensor-rrdtool/
Vše o čem se tam jedna mam umístěné v /home/pi/teplota/
Vytvořil jsem soubor create_db.sh
#!/bin/bash
rrdtool create teplomer1.rrd --start N --step 300 \
DS:temp:GAUGE:600:U:U \
DS:outtemp:GAUGE:600:U:U \
RRA:AVERAGE:0.5:1:12 \
RRA:AVERAGE:0.5:1:288 \
RRA:AVERAGE:0.5:12:168 \
RRA:AVERAGE:0.5:12:720 \
RRA:AVERAGE:0.5:288:365
Nastavil pravá na 775 a spustil
V bash jsou systemové příkazy.
Takže toto by mělo fungovat i přes terminal, ne?
pi@raspberrypi ~ $ sudo rrdtool update /home/pi/teplota/teplomer1.rrd N:`cat /mnt/1wire/28.48D4A8040000/fasttemp`
ERROR: mmaping file '/home/pi/teplota/teplomer1.rrd': Nepřípustný argument