Přímý přenos (YouTube) z konference LinuxDays 2026, jež probíhá tento víkend v Praze v prostorách FIT ČVUT. Na programu je spousta zajímavých přednášek.
Byla vydána nová verze 0.17.0 programovacího jazyka Zig (Codeberg, Wikipedie). Přispělo 206 vývojářů. Přehled novinek v poznámkách k vydání.
Open-source projekt OpenDLSS-NR je 'bitově přesná reimplementace' neuronové rendrovací sítě DLSS 5 od společnosti NVIDIA, jenže pro grafické API Vulkan (DLSS slouží k vylepšování klasickým způsobem vyrendrovaných snímků pomocí lokálních modelů umělé inteligence, a to v reálném čase). Projekt není nijak spojen se společností NVIDIA, je pouze pro OS Windows a natrénované váhy modelu si uživatelé musí obstarat sami. Zdrojový kód je k dispozici na GitHubu, pod licencí MIT s výjimkou pro komponenty třetích stran.
Společnost Cloudflare představila Clef a Clef-Flash, open-source rozhodovací modely určené pro rychlou a konzistentní klasifikaci vstupů. Na rozdíl od klasických LLM vracejí tyto modely deterministické striktně typované strukturované odpovědi s exaktními pravděpodobnostmi, tedy odpovědi ve stylu přelomového modelu Jev.
… více »Byla vydána beta verze Ubuntu 26.10 s kódovým názvem Stonking Stingray. Přehled novinek v poznámkách k vydání. Dle plánu by Ubuntu 26.10 mělo vyjít 15. října 2026.
Byla vydána verze 1.99.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Od 13. do 15. října proběhne v Praze OpenSSL Conference 2026. Na YouTube lze zhlédnout videozáznamy přednášek z loňského roku.
Eben Upton oznámil další zdražení jednodeskových počítačů Raspberry Pi. Tentokrát 2 GB varianty o 12,50 dolarů. Nově 2 GB Raspberry Pi 4 stojí 67,50 dolarů a 2 GB Raspberry Pi 5 stojí 77,50 dolarů.
OpenMandriva ROME, tj. průběžně aktualizovaná (rolling) edice linuxové distribuce OpenMandriva, byla vydána ve verzi 26.09. Vedle Flatpaku také s podporou Snapu.
Edison Design Group po více než 30 letech zveřejnil zdrojový kód svého EDG C/C++ front-endu. Ten proslul širokou podporou standardů C++ a kompatibilitou s dialekty kompilátorů od Microsoftu, GNU, Clangu, Sunu a dokonce i s prehistorickým cfrontem. EDG byl použit například v kompilátoru Intel C++ Classic, kompilátoru NVCC od firmy NVIDIA pro platformu CUDA nebo v našeptávači kódu IntelliSense v produktech společnosti Microsoft. Projekt nyní spravuje organizace The C++ Alliance a kód je dostupný pod licencí Apache 2.0, doplněnou o výjimky projektu LLVM.
Řešení dotazu:
./check_snmp -P 2c -C sdsxpublic -m ALL -H ip -o sdsSoCtempValue.0 a dostanu odpověď SNMP OK - 485. Jenže tohle číslo mi je na prd, protože se musí ještě přepočítat vzorcem ((5*(59-30*((3/1024)*485)))/2), abych dostal stupně Celsia. Proto jsem myslel, že spustím nějaký skript, který si stáhne snmp data a přepočítá to pro potřeby centreonu/nagiosu.
TEMPFULL=`snmpwalk -v2c -c $COMMUNITY $IP 1.3.6.1.4.1.33283.1.2.6.1.5.1 | cut -d ' ' -f 4` DELENOSTO=100 FINALTEMP=$((TEMPFULL / DELENOSTO))Poradíte mi prosím?
./check_snmp_temp: řádek 113: [: 13.93: očekáván celočíselný výraz Not recieving a sane temperature!Skript:
#!/bin/bash
# Exit codes
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
#This will check the temperature and compare it to
#supplied warning and critical levels. Output will be parsable by nagios.
#
#Options:
#
#-w INTEGER
# Exit with WARNING status if the temp is less than INTEGER
#
#-c INTEGER
# Exit with CRITICAL status if the temp is less than INTEGER
#
#-i STRING
# IP to check
#
#-C STRING
# SNMP community to check
WARNINGFLAG=false
CRITICALFLAG=false
IPFLAG=false
COMMUNITYFLAG=false
ARGUEMENTFLAG=false
#This block will test the arguements as parsed
while getopts 'w:c:i:C:' opt; do
case $opt in
w) WARNING=$OPTARG
if ! [ $WARNING -eq $WARNING ] 2>/dev/null; then
echo "Warning value is not an integer!" >&2
ARGUEMENTFLAG=true
fi
WARNINGFLAG=true
;;
c) CRITICAL=$OPTARG
if ! [ $CRITICAL -eq $CRITICAL ] 2>/dev/null; then
echo "Critical value is not an integer!" >&2
ARGUEMENTFLAG=true
fi
CRITICALFLAG=true
;;
i) IP=$OPTARG
#Tests if ip is in correct format
#First check if basic format is correct
if [[ $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
#Then test if IP is in sensible range
iterator=1
while [ $iterator -le 4 ]; do
number=`echo $IP | cut -d . -f $iterator`
if [ $number -ge 256 ]; then
echo "The IP supplied is not in a valid format" >&2
ARGUEMENTFLAG=true
fi
iterator=$(($iterator+1))
done
else
echo "The IP supplied is not in a valid format" >&2
exit 1
fi
IPFLAG=true
;;
C) COMMUNITY=$OPTARG
COMMUNITYFLAG=true
;;
\?) echo "Invalid option: -$OPTARG" >&2
exit 1
;;
:) echo "Option -$OPTARG requires an argument." >&2
exit 1
;;
esac
done
#Checks to see if any arguments are missing:
if ! $WARNINGFLAG; then
echo "A Warning level is required!" >&2
ARGUEMENTFLAG=true
fi
if ! $CRITICALFLAG; then
echo "A Critical level is required!" >&2
ARGUEMENTFLAG=true
fi
if ! $IPFLAG; then
echo "An IP address is required!" >&2
ARGUEMENTFLAG=true
fi
if ! $COMMUNITYFLAG; then
echo "A community name is required!" >&2
ARGUEMENTFLAG=true
fi
if $ARGUEMENTFLAG; then
exit $STATE_UNKNOWN
fi
#Checks for sane Warning/Critical levels
if [ $WARNING -gt $CRITICAL ]; then
echo "Warning level should not be higher than Critical level"
exit $STATE_UNKNOWN
fi
#grabs the current temperature using snmpwalk from the ip and snmp community provided
FULLTEMP=`snmpwalk -v2c -c $COMMUNITY $IP 1.3.6.1.4.1.33283.1.2.6.1.5.1 | cut -d ' ' -f 4`
CURRENTTEMP=$(echo "scale=2; $FULLTEMP/100" | bc)
#Checks for sane temperature
if ! [ $CURRENTTEMP -eq $CURRENTTEMP ]; then
echo "Not recieving a sane temperature!"
exit $STATE_UNKNOWN
fi
#Checks the temperature against the warning and critical levels and gives a nagios compatible response
if [ $CURRENTTEMP -lt $WARNING ]; then
echo "TEMP OK - Current Temperature is $CURRENTTEMP"
exit $STATE_OK
elif [ $CURRENTTEMP -lt $CRITICAL ]; then
echo "TEMP WARNING - Current Temperature is $CURRENTTEMP"
exit $STATE_WARNING
else
echo "TEMP CRITICAL - Current Temperature is $CURRENTTEMP"
exit $STATE_CRITICAL
fi
if ! (( $(echo "$CURRENTTEMP == $CURRENTTEMP" | bc) )); then .. if (( $(echo "$CURRENTTEMP < $WARNING" | bc) )); then ..etc.
-n, --sensor_names=STRING[,STRING[..]], tak můžu zapsat víc hodnot. Nějak ale nerozumím té syntaxi. Zkoušel jsem např. -n sensor1,sensor2, ale to nejde.
@ar_sensornames = split(/,/, $o_sensornames);Co to napise?
./check_snmp_temperature.pl -H 10.0.14.111 -C sdsxpublic -n sensor1,sensor2 -d .1.3.6.1.4.1.33283.1.2.6.1.5.1,.1.3.6.1.4.1.33283.1.2.6.1.5.2 -i 100C -o C -f -a sensor1 -w 85 -c 90 OK - sensor1 Temperature is 10.68C | sensor1=10.68;85;90Ideálně bych chtěl ale docílit toho, že OID nebudu vyplňovat ručně, ale už ho přidělím sensorům přímo ve skriptu.
sdmicro" => [ "", "", "C", ['Sensor1', 'Sensor2', 'Sensor3', 'Sensor4'], ['.1.3.6.1.4.1.33283.1.2.6.1.5.1','.1.3.6.1.4.1.33283.1.2.6.1.5.2','.1.3.6.1.4.1.33283.1.2.6.1.5.3','.1.3.6.1.4.1.33283.1.2.6.1.5.4'] ],
sdmicro" => [ "", "", "100C", ['Sensor1', 'Sensor2', 'Sensor3', 'Sensor4'], ['.1.3.6.1.4.1.33283.1.2.6.1.5.1','.1.3.6.1.4.1.33283.1.2.6.1.5.2','.1.3.6.1.4.1.33283.1.2.6.1.5.3','.1.3.6.1.4.1.33283.1.2.6.1.5.4'] ]. Koukám, že to má takto ten "alteon". Moc díky.
./check_snmp -C sdsxpublic -H 10.0.14.111 -o .1.3.6.1.4.1.33283.1.2.9.1.6.3 -u kWh -l spotreba -w 50 -c 90
SNMP OK - spotreba 22 kWh | spotreba=22, resp. kompletní performance data z ./check_snmp -C sdsxpublic -H 10.0.14.111 -o .1.3.6.1.4.1.33283.1.2.9.1.6.3
SNMP OK - "22.809 kWh" |, jako např. spotreba=22.809,50,90
./check_snmp -C sdsxpublic -H 10.0.14.111 -o sdsS0actualEnergyFlow.3 -l spotrebaa výstup je
SNMP OK - spotreba "0.001 kW" |. Za znaménkem roury | nic není. Tam by měly být perfdata pro generování grafů. Zadám tedy
./check_snmp -C sdsxpublic -H 10.0.14.111 -o sdsS0actualEnergyFlow.3 -u kW -l spotreba -w 100 -c 200a výstup je
SNMP OK - spotreba 0 kW | spotreba=0. Takže mám za rourou petrdata. Jenže ty jsou ořízlé jen na celé číslo bez desetiných míst. Jak tedy docílím, aby výstup bypadal takto:
SNMP OK - spotreba 0.001 kW | spotreba=0.001nebo ideálně takto
SNMP OK - spotreba 0.001 kW | spotreba=0.001,100,200Mooc díky za pomoc:)
Tenhle dotaz jsem přesunul do Linuxové poradny a tak prosím o případné zamčení toho vlákna. Moc díky.
Tiskni
Sdílej: