Category Archive Docker

ByPatrick

Ajout d’un Raspberry P3 dans prometheus

Bonjour,
aujourd’hui, j’ai ajouté mon raspberry PI 3 dans prometheus pour monitorer la température par grafana

On commence par le raspberry

wget https://github.com/prometheus/node_exporter/releases/download/v1.1.2/node_exporter-1.1.2.linux-armv6.tar.gz
tar -xvzf node_exporter-1.1.2.linux-armv6.tar.gz
sudo cp node_exporter-1.1.2.linux-armv6/node_exporter /usr/local/bin
sudo chmod +x /usr/local/bin/node_exporter
sudo useradd -m -s /bin/bash node_exporter
sudo mkdir /var/lib/node_exporter
sudo chown -R node_exporter:node_exporter /var/lib/node_exporter
sudo vi /etc/systemd/system/node_exporter.service
sudo systemctl daemon-reload
sudo systemctl enable node_exporter.service
sudo systemctl start node_exporter.service

Puis je me connecte au container docker

docker exec -it MONCONTAINER sh
vi /etc/prometheus/prometheus.yml

ByPatrick

jenkins docker windows node

Finalement, ça n’a pas été bien compliqué.

D’abord, j’ai construit un container qui partage aussi le port 5000

docker run -d --name jenkins -p 8082:8080 -p 50000:50000 jenkins/jenkins:lts

ensuite, je suis allé dans le container, (après le setup bien sur)

Et j’ai lancé le composant depuis la page web sur un pc sur lequel visual studio était installé.

Bien sur, j’ai eu quelques suprises

  • le port 50000 qui n’était pas accessible sur le container –> recréer le container.
  • sur le pc qui a Visual studio, il ne trouvait pas MSBuild parce que le dossier n’était pas dans le path de windows. –> faire une recherche “dir msbuild.exe /s” et trouver la version qui est dans le dossier de visual studio.
  • même après avoir mis le path correctement, si je démarre en tant que service, il ne trouve quand même pas msbuild. –> j’ai changé l’utilisateur avec lequel le service démarre.
  • Faire en sorte que le build du code .net tourne bien sur le node qui a .net

et dans mon build plan aussi

ByPatrick

Docker prometheus + raspeberry + windows exporter

Pour pouvoir utiliser au mieux grafana, j’ai commencé par créer un container docker avec prometheus

docker run -p 9090:9090 -v prom/prometheus

Bon, d’accord, c’est pas propre car je ne conserve la configuration que dans le container, du coup je vais la perdre à chaque recréation du container.

je me connecte directement dans le container pour faire la configuration :

docker exec -ti MON_CONTAINER sh

vi /etc/prometheus/prometheus.yml

et évidement après avoir installé

Puis dans grafana, j’importe les dashboards pour linux et windows avec prometheus comme source et tada:

https://grafana.com/grafana/dashboards/1860

C’est autrement plus facile qu’avec Centreon. Mais par contre, je n’ai pas encore trouvé de moyen simple de sécuriser l’accès aux données publiées par les serveurs.

ByPatrick

WAPTsous docker

Bonjour à tous,

Ce weekend fut très productif car j’ai entre autre démarré wapt comunity sous docker

docker pull clamy54/wapt-ce
docker run --hostname wapt.XXX -p 2180:80 -p 21443:443 -e WAPT_ADMIN_PASSWORD='XXX' --privileged=true -v /sys/fs/cgroup:/sys/fs/cgroup:ro -d clamy54/wapt-ce

Se connecter à l’interface web pour télécharger l’agent :

Démarrer la console et après avoir reconfiguré mon certificat:

Me voici avec une magnifique gestion des logiciels clients qui complète très bien chocolatey.

ByPatrick

Découverte de focalboard sous docker

Bonjour à tous et à toutes,

aujourd’hui, j’ajoute une sympathique application à ma liste de container sous docker :

En regardant le post suivant : https://github.com/mattermost/focalboard/issues/91

J’ai lancé les quelques commandes

git clone https://github.com/mattermost/focalboard.git
cd focalboard\docker
docker build . --tag mattermost/focalboard
docker run -p 8000:8000 --restart always mattermost/focalboard

je me connecte sur le port 8000 et je créé un compte 🙂

un grand merci encore à l’équipe qui met cela à disposition et à qui korben me l’a fait découvrir.

Bonne journée

ByPatrick

Publier via powershell un événement vers Graylog

class GraylogMessage { [string] $short_message; [string] $full_message }
$Uri = 'http://192.168.1.119:12201/gelf'
$Headers = @{'Content-Type' = 'application/json'; }
$Message = [GraylogMessage]::New()
$Message.short_message = 'Robocopy EMV VIX Pulse'
$Message.full_message = [IO.File]::ReadAllText('C:\logs\robocopylogs.txt')

Invoke-WebRequest -Uri $Uri -Method POST -Headers $Headers -Body (ConvertTo-Json $Message)

Malheureusement, il reste bloqué à la ligne invoke-webrequest.

Je complèterai quand j’aurai la réponse…

ByPatrick

Usage de disque avec docker trop élevé ?

J’ai de plus en plus de mal à faire tourner mes containers, après quelques minutes ou dès que j’ai lancé tous ou une partie de mes containers, il n’est pas content :

Je me suis dit qu’il manquait peut-être de mémoire, alors j’ai augmenté :

et après il s’est senti mieux

ByPatrick

Graylog en docker et c#

Aujourd’hui, j’ai recréé un container docker avec graylog :

docker run --name mongo -d mongo:4.2

docker run --name elasticsearch -e "http.host=0.0.0.0" -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" -d docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2

docker run --name graylog4 --link mongo --link elasticsearch -p 9000:9000 -p 12201:12201 -p 1514:1514 -e GRAYLOG_HTTP_EXTERNAL_URI="http://192.168.1.119:9000/" -d graylog/graylog:4.0

J’ai ajouté un input

Puis j’ai créé une application C# avec visual studio, ajouté quelques nuggets

Un petit bout de code :

private void button3_Click(object sender, EventArgs e)
{
var configuration = new Microsoft.Extensions.Configuration.ConfigurationBuilder()
.AddJsonFile("appsettings.json")
.Build();        
Logger logger = new Serilog.LoggerConfiguration()
                        .ReadFrom.Configuration(configuration)
            .CreateLogger();

        while (true)
        {
            var line = "coucou";

            logger.Warning("some warning: {test}", line);
            logger.Information("some warning: {test}", line);
        }
    }

Et voilà, j’ai ajouté mes premières informations dans graylog

Sans oublier le fichier appsettings.json

ByPatrick

Comment démarrer le docker de phpbb

Aujourd’hui, je me replonge dans mes vieux amours, j’essaie de démarrer un container docker sous windows avec phpbb:

[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"
curl https://raw.githubusercontent.com/bitnami/bitnami-docker-phpbb/master/docker-compose.yml > docker-compose.yml
docker-compose up -d

Et bien non, il persiste à me mettre :

J’ai finalement télécharger le fichier depuis firefox 🙁 et là, pas de soucis.

phpBB application username. Default:user

phpBB application password. Default: bitnami

Et voilà, encore un petit container testé.

Sources : https://hub.docker.com/r/bitnami/phpbb/ et https://stackoverflow.com/questions/41618766/powershell-invoke-webrequest-fails-with-ssl-tls-secure-channel

ByPatrick

Test de Taiga

Bonjour,

Nouvelle journée, nouvelle découverte… J’ai voulu essayer Taiga (scrum board) et après avoir suivi ce tuto sur une nouvelle VM chez Linode. C’est à dire :

apt-get -y install docker docker.io
git clone https://github.com/taigaio/taiga-docker.git
cd taiga-docker/
git checkout stable
apt-get -y install docker-compose
./launch-all.sh

Je me suis heurté à ceci :

“Something happened and the Taiga has captured the error to be able to work on it.”

J’ai alors fait un petit “vi docker-compose.yml” et modifié les valeurs du host pour correspondre à l’ip publique de ma VM

Comme le login admin n’acceptait pas mon mot de passe, j’ai lancé la commande : ./taiga-manage.sh createsuperuser

et là tada, ça a fonctionné