Archiv des Autors: hermann

[puppet] Test Datei erstellen

Um die Konfiguration zu testen, kann auf dem node puppet agent --test eingegeben werden. Wenn es hier keine Fehler gibt, kann auf dem puppetmaster eine Testdatei angelegt werden.

Die Datei mit dem Namen test.pp wurde in dem Verzeichniss /etc/puppetlabs/code/environments/production/manifests/ erstellt und hat folgenden Inhalt:
node 'pmagent2' {
file {'/tmp/testdatei':
ensure => present,
mode => '0644',
content => "testdatei erstellt durch puppetn",
}
}
node default {}

 

Nach dem auf dem node puppet –agent test ausgeführt wurde, wird auch die Datei angelegt.

Damit die Datei über Puppet wieder entfernt wird, muss ensure von present auf absent geändert werden.

Installation Puppetmaster unter Centos 7

Damit die spätere Kommunikation zwischen den Nodes und dem Master funktioniert, müssen alle Server die gleiche Uhrzeit haben und die korrekte Namensauflösung muss sichergestellt sein. Für die korrekte Zeit empfiehlt es sich den NTP zu verwenden. Da ich nur eine kleine Testumgebung nutze, habe ich für die Namensauflösung die Hostnamen und Ip Adressen auf den Testservern in der /etc/hosts hinterlegt.

Zunächst muss unter dem root Benutzer das Repository von Puppetlabs installiert werden.
rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm

Im Anschluss kann der Puppetmaster installiert werden yum -y install puppetserver.

Der Puppetserver wird über systemctl start puppetserver gestartet, mit der Zeile systemctl enable puppetserver wird der puppetserver bei jedem Start der VM gestartet.

Damit die Nodes mit dem Master kommunizieren können, muss der Port 8140 geöffnet werden.
firewall-cmd --zone=public --permanent --add-port=8140/tcp

Installation Agent

Auf dem Node muss ebenfalls das Repository hinzugefügt und dann der Agent installiert werden.

rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el-7.noarch.rpm
yum -y install puppet-agent

Damit der Agent weiß welchen Master er ansprechen muss, wird dieser in der Datei /etc/puppetlabs/puppet/puppet.conf wie folgt hinterlegt:
server = FQDN.

Gestartet wird der Agent über /opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true.

Kommunikation

Für die Kommunikation mit dem Master wird auf dem Node ein Zertifikat erstellt. Das Zertifikat wird dem Master vorgelegt und muss dort freigeschaltet werden.

Mit puppet cert list erhält man auf dem Master eine Übersicht der Node Zertifikate, welche noch nicht freigegeben wurden.
Ein einzelnes Zertifikat kann mit puppet cert sign hostname freigegeben werden, alle ausstehenden Zertifikate über puppet cert sign --all

Eine Liste aller freigeschalteten Zertifikate (Nodes) erhält man über puppet cert list --all.

Firefox fehlerhafte Darstellung von PDF Dokumenten

Auf verschiedenen Websiten oder in Applikationen werden PDF Dokumente zur Verfügung gestellt werden. Zur Darstellung nutzt der Firefox den integrierten PDF Reader.
Bei einigen PDF’s kommt es jedoch zu Darstellungsfehlern und es werden nur kleine Kästchen dargestellt.
Das Problem lässt sich lösen in dem man in den Einstellungen die Anwendungen öffnet.
In den Anwendungen gibt es den Eintrag für Portable Document Format (PDF), dieser muss von Vorschau im Firefox auf Adobe Acrobat (in Firefox) verwenden geändert werden.

Foscam Kamera in openhab integrieren

Wie in dem vorherigem Artikel geschrieben, kann die Foscam Kamera bei Bewegungserkennung eine E-Mail versenden. Die Bewegungserkennung lässt sich mit relativ wenig Aufwand in openhab integrieren.
Die Kameras bieten die Möglichkeit unter anderem den Status der Bewegungserkennung per http cgi abzufragen. Damit die URL über openhab abgefragt werden kann, wird das http binding benötigt.
Der Benutzer für die Abfrage der Daten muss auf der Kamera die Rechte eines Administrators besitzen.

Als Item wird folgendes angelegt:
String Foscam_Cam1 "Bewegung Camera [MAP(foscam.map):%s]" <camera> (camera) { http="<[http://ipadresse:88/cgi-bin/CGIProxy.fcgi?cmd=getDevState&usr=benutzer&pwd=kennwort:4000:REGEX(.*?<motionDetectAlarm>(.*?)</motionDetectAlarm>.*)]" }

Damit als Status bewegung und nicht die Zahl 2 ausgegeben wird, kann eine map(configurations/transform/foscam.map) angelegt werden.

0=deaktiviert
1=ruhe
2=bewegung
undefined=keine daten
-=keine daten

Der Status der Bewegungserkennung wird bereits auf der Sitemap ausgegeben, mit entsprechender Regel kann eine E-Mail inkl. Bild versendet werden. Voraussetzung für den Mailversand ist ein hinterlegter smtp Server.
rule foscambewegung
when
Item Foscam_Cam1 received update
then
if (Foscam_Cam1.state == "2"){
sendMail("emailadresse", "Betreff", "Text", "http://ipadresse:88/cgi-bin/CGIProxy.fcgi?cmd=snapPicture2&usr=benutzer&pwd=kennwort")}
end

Die Regel lässt sich nach belieben erweitern, zum Beispiel kann eine E-Mail nur in einem bestimmten Zeitraum versendet werden. Nutzt man bereits die Anwesenheitserkennung, kann eine E-Mail versendet werden wenn eine Bewegung erkannt wurde und niemand zu Hause ist.

[Neato Botvac] Kleiner Helfer im Haushalt

Im Haushalt leben 5 Personen, 2 Hunde und 2 Meerschweinchen. Die Befürchtung war, das ein Roboterstaubsauger einerseits Probleme durch die Räumlichkeiten hat oder nicht alle Hundehaare vom Bordercollie-Labradors Mix erfassen kann. Im Bekanntenkreis wird der Staubsauger bereits eingesetzt und hier wurden nur positive Erfahrungen gemacht.

Kurzerhand bestellten wir den D85.
Gleich der erste Saugvorgang der Küche überraschte uns positiv.
Nachdem der Raum gescannt wurde fuhr der Roboter zunächst die Kanten ab, im Anschluss den Rest des Raumes.
Wir konnten hierbei nicht feststellen das Bereiche nicht gesaugt wurden. Am nächsten Tag ließen wir die Küchentür offen, dies wurde beim Scanvorgang erkannt. Nachdem die Küche gesaugt war, ging der Roboter in den nächsten Raum über. Letztendlich wurden bei einem Saugvorgang die Küche, der Flur und das Wohnzimmer gesaugt. Alle Hundehaare und auch ein wenig Streu der Meerschweinchen wurde problemlos aufgesaugt. Nach jedem Saugvorgang wurde der Auffangbehälter sowie der Filter von uns gereinigt bzw. geleert.

Bei den nun mittlerweile mehreren Saugvorgängen hat der Roboter immer einen anderen weg genommen, dadurch findet man gelegentlich neue Stellen wo er sich fest fährt.
Ist die Batterie leer oder der Saugvorgang beendet, fährt der Botvac D85 wieder zur Ladestation. Nur in einem Fall hatten er Probleme die Station zu finden.
Wird der Saugvorgang in der Mitte eines Raumes gestartet, fährt er im Anschluss nicht zur Ladestation sondern stellt sich wieder in den Raum.

Fazit des kleinen Helfers ist, warum haben wir den nicht schon eher gekauft?


(Amazon Partnerlink)