2024. április 30., kedd

Gyorskeresés

Útvonal

Cikkek » Számtech rovat

Raspberry Pi OS

A Raspberry Pi OS egy szabad operációs rendszer, aminek Debian az alapja, és ezt optimalizálták a Raspberry Pi hardveréhez.

[ ÚJ TESZT ]

Mérjünk meg mindent

A munin egy nyilt forráskódú monitorozó eszköz, amit plugin-ekkel bővíthetünk. Így gyakorlatilag minden mérést megjeleníthetünk egy WEBoldalon. Ezért telepítünk egy WEB szervert.
sudo apt install nginx-light
Telepítéskor létrejön a /var/www könyvtár, de a tulajdonosa, és a csoporttagsága is a root. Ezt módosítani kell úgy hogy mindkettő a www-data legyen.
sudo chown www-data:www-data /var/www
Töröljük az alap beállítást,
sudo unlink /etc/nginx/sites-enabled/default
és létrehozzuk a saját magic-pi nevü oldalunkat.
sudo nano /etc/nginx/sites-available/magic-pi

server {
listen 80;
root /var/www;
index index.html index.htm;

location /stats {
stub_status on;
access_log off;
allow 127.0.0.1;
allow 192.168.0.0/24;
deny all;
}
}

Ennek a fájlnak a tartalma olyan alap dolgokat állít be, mint hogy a szabványos 80-as porton érhető el, az index.htm(l) fájl tartalma lesz a kezdő oldal, és azt a /var/www könyvtárban találja. A hozzáférést is korlátozzuk magára a Pi-re (127.0.0.1), és a helyi hálózatra (192.168.0.x). Szemfülesek észrevehették hogy van egy magic-pi/stats oldal is, ami a WEBszerverről ad egy kis infót.
Készítsünk egy teszt oldalt, hogy kipróbáljuk a WEBszerver működését.
sudo nano /var/www/index.html

<html>
<head>
<meta charset="UTF-8">
<title>magic-pi.local</title>
</head>
<body>
<h1>Üdvözöllek a szerveremen!</h1>
</body>
</html>

Engedélyezzük a működését, és újraindítjuk az nginx szervert.
cd /etc/nginx/sites-enabled
sudo ln -s ../sites-available/magic-pi
sudo systemctl restart nginx.service

Ha minden jól csináltunk, a bögészőbe beírva a Pi címét, megjelenik a most készített teszt oldalunk. Most hogy a WEBszerver már üzemel, jöhet a munin telepítése.
sudo apt install munin
Majd visszatérünk a webszerver konfigurálásához, ahol létrehozzuk a munin oldalát. Az imént létrehozott /etc/nginx/sites-available/magic-pi fájlt módosítjuk:

server {
listen 80;
root /var/www;
index index.html index.htm;

location /stats {
stub_status on;
access_log off;
allow 127.0.0.1;
allow 192.168.0.0/24;
deny all;
}

location /munin {
alias /var/cache/munin/www;
index index.html;
}
}

Az első rész marad ugyanaz, csak az utolsó pár sor kerül hozzáadásra, ami létrehozza a /munin aloldalt úgy, hogy megadja annak elérési útvonalát. Persze el is kell tudnia olvasnia a könyvtárat, különben 403-asa hibát adna, ezér a munin www könyvtárának jogosultságát állítsuk át úgy, hogy a www-data csoporthoz tartozzon.

sudo chown munin:www-data -R /var/cache/munin/www/

Újraolvasatjuk a WEB szerver konfigurációját, és már működik is a magic-pi/munin oldal.

sudo service nginx reload

A nehezén már túl vagyunk, de most jön a feketeleves! Már most is rengeteg információt lekérdezhetünk a lemez(ek)ről, a hálózat(ok)ról, a rendszerről, és a rajta futó programokról, de ezt még lehet fokozni. Alapból az /usr/share/munin/plugins/ alatt találhatóak a telepített plugin-ek. Itt szinte minden megtalálható, az adatbázis/levelező/... szerverek lekérdezésétől a távoli snmp lekérdezésekig. Ha mégsem találod meg amit keresel, rengeteg külső fejlesztő pluginje elérhető, vagy akár magadnak is írhatsz egyet. Példaképpen telepítsünk egy Raspberry Pi-hez írt kiegészítőt. Lépjünk be munin plugin könyvtárába, és töltsük le oda a PiSense plugint.
cd /usr/share/munin/plugins
sudo wget -O pisense_ https://raw.github.com/perception101/pisense/master/pisense_

Adjunk neki futási jogot, majd linkeljük az /etc/muin/plugins könyvtárba pisense_temp és pisense_clock néven.
sudo chmod a+x pisense_
sudo ln -s /usr/share/munin/plugins/pisense_ /etc/munin/plugins/pisense_temp
sudo ln -s /usr/share/munin/plugins/pisense_ /etc/munin/plugins/pisense_clock

Végül a munin-node konfigurációhoz adjuk hozzá ezt a két sort.
sudo nano /etc/munin/plugin-conf.d/munin-node

[pisense_*]
user root

Ez engedélyezi a felhasználóknak, és a root-nak mindegyik PiSense plugin használatát. Ez csak a
sudo munin-node-configure
sudo systemctl restart munin-node.service

parancsok kiadása után lépnek életbe. Ezután már egy plusz “sensors” menüpont is a munin baloldali menüsorában, ahol a Pi órajelét, és hőmérsékletét követhetjük nyomon.


Nálam is csak pár perce fut, így nem túl látványos, de működik.

Egy érdekes felhasználási módja, hogy monitorzzuk a UPC modemének paramétereit. Watercolour fórumtársunk készített hozzá egy plugint, amit meg is osztott a közösséggel. Itt megtalálható a telepítéshez szükséges parancsok, de Raspberry Pi OS alatt kicsit módosítani kell a lépéseket. 0. lépésben telepíteni kell a git csomagot.
sudo apt install git
Majd csak ezután tölthetjük le a forráskódot.
git clone https://bitbucket.org/watercolour/upc-connectbox-munin.git
Telepítjük a szükséges összetevőket
sudo apt install libxml2 libxml2-dev python3-pip python3-lxml python3-setuptools python3-dev
sudo pip3 install recordclass requests

A UPC eszköz "kezelő" programját is letöltjük
git clone https://github.com/ties/compal_CH7465LG_py.git
Ha eddig eljutottunk, a könyvtárunkban keletkezett egy compal_CH7465LG_py és egy upc-connectbox-munin könyvtár. Át kell szerkeszteni a upc_* fájlokat, hogy beírhassuk a modemünk pontos IP címét, és belépési jelszavát.
nano upc-connectbox-munin/upc_downstream_power
#!/bin/bash

# Downstream csatornak szama
NUM_CHANNELS=15
# Connect Box python script (cb-data.py) abszolut utvonala
CB_SCRIPT_PATH="/home/pi/upc-connectbox-munin/cb-data.py"
# Connect Box IP cime
CB_IP="192.168.0.1"
# Connect Box webes adminjelszava
CB_PASSWD="titok"

A fenti példában 192.168.0.1 az IP címe, és a pi felhasználóval voltam bejelentkezve. Hasonlóan módosítani kell a upc_downstream_snr és a upc_upstream_power fájlokat. Magának a lekérdező szkriptnek meg kell adni a compal_CH7465LG_py könyvtár elérési útját is.
nano upc-connectbox-munin/cb-data.py
#!/usr/bin/env python3

import argparse
import pprint
import os
import sys
from lxml import etree
from io import StringIO, BytesIO

# Ide tessek megadni az utvonalat, ahol a compal_CH7465LG_py van.
sys.path.append('/home/pi/compal_CH7465LG_py')

Ezután már csak a helyükre másoljuk a fájlokat, és újraindítjuk a munin-t.
sudo cp upc_* /etc/munin/plugins/
sudo systemctl restart munin-node

Készen is vagyunk, a network menüpont alatt találjuk meg a UPC modemének paramétereit.

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

Előzmények

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.