Ce face os.Hostname
os.Hostname dă numele mașinii, același cu cel afișat de comanda hostname. Este util în jurnale și în metrici, când același program rulează pe mai multe servere.
Numele nu este neapărat un nume DNS valid sau unic; nu îl folosi ca adresă de rețea fără să verifici.
Ce returnează
Numele și nil, sau o eroare.
Exemple
Exemplul 1: Numele serverului în jurnal
package main
import (
"fmt"
"os"
)
func main() {
nume, err := os.Hostname()
if err != nil {
fmt.Println("eroare:", err)
return
}
fmt.Printf("[%s] serverul a pornit\n", nume)
}
Rezultat posibil (diferă la fiecare rulare)
[web-iasi-01] serverul a pornit
Exemplul 2: Verificare fără a afișa numele
package main
import (
"fmt"
"os"
)
func main() {
nume, err := os.Hostname()
fmt.Println("fără eroare:", err == nil)
fmt.Println("are nume:", len(nume) > 0)
}
Rezultat
fără eroare: true
are nume: true
Greșeli frecvente
- Folosești numele mașinii ca identificator unic al unei instanțe în containere. Mai multe containere pot avea nume asemănătoare sau generate; combină-l cu PID-ul sau un ID propriu.