Mera Munin

Pillade med en maskin idag på EC2 där en del saknades i munin-väg. För att se vilka plugins som vill, kan eller inte vill vara med i matchen körs munin-node-configure --suggest som ger en fin lista, t ex

Plugin                     | Used | Suggestions                            
------                     | ---- | -----------
ntp_offset                 | no   | no [no ntpq program]                   
nvidia_                    | no   | no [no nvclock executable at /usr/bin/nvclock, please configure]
open_files                 | yes  | yes                                    
open_inodes                | yes  | yes                                    
postfix_mailqueue          | no   | no                                     
postfix_mailvolume         | no   | no [postfix not found]                 
postgres_bgwriter          | no   | yes

För att få med JMX (mot en miljö) så behövs paketet (under Ubuntu) munin-java-plugins, Postgres-prylarna var fortfarande inte på banan och ett litet test med perl -MDBD::Pg -e 1 säger just

Can’t locate DBD/Pg.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .).

För detta behövdes libdbd-pg-perl.

När väl allt verkar OK, kör munin-node-configure --shell | sh för att konfigurera in modulerna.

Om SSH och nycklar

Det händer att man får förklara konceptet med nyckelbaserad autentisering emellanåt. Jag sprang idag över en kort koncis sammanfattning på OpenWRT-wikin:

You generate a key pair, consisting of a public key (which everybody is allowed to know) and a private key (which you keep secret and do not give to anybody). The private key is able to generate signatures. A signature created with your private key […] cannot be forged using some other key; but anybody who has your public key can verify that a particular signature is genuine.

With the program of your choice, you generate a key pair on your own computer (which should not already be hacked…), and copy the public key to the server, in our case running OpenWrt. Then, when the server asks you to prove who you are, PuTTY can generate a signature using your private key. The server can verify that signature (since it has your public key) and allow you to log in.

Jag tänkte också att det var dags att kika på detta med att posta kod – det är ett härke med WordPress och TinyMCE (den grafiska redigeringsverktyget) som “förstör” koden varje gång man försöker göra något. Har nu installerat SyntaxHighlight Evolved (samt SH TinyMCE Buttons) som förhoppningsvis skall lösa problemet. Vi gör ett försök:

public class Test <T1, T2>  {
  private T1 t1;
  private T2 t2;
  public T1 getFirst() {
    return t1;
  }
  public T2 getSecond() {
    return t2;
  }
  public <X, Y> Test(T1 a, T2 b) {
    this.t1 = a;
    this.t2 = b;
  }
}

Det räcker inte med vanliga <pre>-taggar, utan det som verkar fungera är att skriva just klamrar [ sedan språk ] i ett “pre”-block.

package net.freelancer.dyu168.util;

public class Nullable<T> {

	private T t;

	private Nullable(T t) {
		this.t = t;
	}

	public boolean hasValue() {
		return t != null;
	}

	public T get() {
		if (!hasValue()) {
			throw new IllegalStateException("This Nullable has no value");
		}
		return t;
	}

	public static <X> Nullable<X> none() {
		return new Nullable<X>(null);
	}

	public static <X> Nullable<X> with(X x) {
		return new Nullable<X>(x);
	}
}

Det ser OK ut båda editorerna, även i preview.