<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Fairywen</title>
    <description>The latest articles on DEV Community by Fairywen (@fairywen).</description>
    <link>https://dev.to/fairywen</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F829066%2F1f9d989d-aacb-4d67-ac36-58f86bbab668.jpg</url>
      <title>DEV Community: Fairywen</title>
      <link>https://dev.to/fairywen</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fairywen"/>
    <language>en</language>
    <item>
      <title>How to schedule new blog posts</title>
      <dc:creator>Fairywen</dc:creator>
      <pubDate>Tue, 11 Jun 2024 13:01:51 +0000</pubDate>
      <link>https://dev.to/fairywen/how-to-schedule-new-blog-posts-1310</link>
      <guid>https://dev.to/fairywen/how-to-schedule-new-blog-posts-1310</guid>
      <description>&lt;p&gt;Some of you may be looking for a way to prepare Hugo-blog content, and post it automatically on a specific day without having any further action to do.&lt;/p&gt;

&lt;p&gt;Here is a very simple way to handle this, using both Hugo and GitHub Action functionalities.&lt;/p&gt;

&lt;h1&gt;
  
  
  Step 1 : Hugo side
&lt;/h1&gt;

&lt;p&gt;A Hugo-based blog content is basically a &lt;code&gt;Markdown&lt;/code&gt; file, which contains at its beginning a &lt;code&gt;front matter&lt;/code&gt; bloc (using &lt;code&gt;yaml&lt;/code&gt; or &lt;code&gt;toml&lt;/code&gt; syntax).&lt;br&gt;&lt;br&gt;
This &lt;code&gt;front matter&lt;/code&gt; let us set several properties.  &lt;/p&gt;

&lt;p&gt;For example, here is one from a post of mine :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight toml"&gt;&lt;code&gt;&lt;span class="err"&gt;+++&lt;/span&gt;
&lt;span class="py"&gt;title&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;"How to plan your blog posts in advance"&lt;/span&gt;
&lt;span class="py"&gt;date&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;2024-06-10&lt;/span&gt;
&lt;span class="py"&gt;draft&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="kc"&gt;false&lt;/span&gt;
&lt;span class="py"&gt;tags&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"tuto"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="s"&gt;"blogging"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="py"&gt;categories&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s"&gt;"tech"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;
&lt;span class="err"&gt;+++&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One can notice the presence of a &lt;code&gt;date&lt;/code&gt; field, allowing not only to set up post's writing date, but will be used by &lt;code&gt;Hugo&lt;/code&gt; while building the site.&lt;br&gt;&lt;br&gt;
Indeed, &lt;code&gt;Hugo&lt;/code&gt; default behavior is to &lt;a href="https://gohugo.io/getting-started/configuration/#buildfuture"&gt;not build future contents&lt;/a&gt;.  &lt;/p&gt;

&lt;p&gt;That's exactly what we need here. Just write the desired publish date instead, and then build periodically the site !  &lt;/p&gt;
&lt;h1&gt;
  
  
  Step 2 : GitHub side
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;GitHub Actions&lt;/code&gt; manages build of the site through a &lt;code&gt;.github\workflows\hugo.yml&lt;/code&gt; file, created by &lt;code&gt;GitHub&lt;/code&gt; while the workflow is configured the first time (note by the way that it looks like a &lt;code&gt;Jenkinsfile&lt;/code&gt; a lot).  &lt;/p&gt;

&lt;p&gt;My first usage was to build on every &lt;code&gt;push&lt;/code&gt; on the main branch :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Sample workflow for building and deploying a Hugo site to GitHub Pages&lt;/span&gt;
&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Deploy Hugo site to Pages&lt;/span&gt;

&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="c1"&gt;# Runs on pushes targeting the default branch&lt;/span&gt;
  &lt;span class="na"&gt;push&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;branches&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;main"&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;

&lt;span class="c1"&gt;# Deploying actions&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;So I simply added a scheduled trigger (see documentation &lt;a href="https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule"&gt;here&lt;/a&gt;) every friday morning.&lt;br&gt;&lt;br&gt;
Notice that time is UTC-based, and it is not possible for now to use timezone (see &lt;a href="https://github.com/orgs/community/discussions/13454"&gt;this discussion&lt;/a&gt;).  &lt;/p&gt;

&lt;p&gt;Let's add the scheduled trigger in &lt;code&gt;hugo.yml&lt;/code&gt; file :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="c1"&gt;# Sample workflow for building and deploying a Hugo site to GitHub Pages&lt;/span&gt;
&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Deploy Hugo site to Pages&lt;/span&gt;

&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="c1"&gt;# Runs on pushes targeting the default branch&lt;/span&gt;
  &lt;span class="na"&gt;push&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;branches&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;main"&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;

  &lt;span class="c1"&gt;# Runs every friday at 5 o'clock AM UTC to publish "music friday" posts&lt;/span&gt;
  &lt;span class="na"&gt;schedule&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;cron&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s1"&gt;'&lt;/span&gt;&lt;span class="s"&gt;00&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;05&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;5'&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Here we are !&lt;br&gt;&lt;br&gt;
From now on, the site will be also build once a week to generate contents that was in the future.&lt;/p&gt;

</description>
      <category>githubactions</category>
      <category>hugo</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Configuring check_oracle Nagios plugin</title>
      <dc:creator>Fairywen</dc:creator>
      <pubDate>Mon, 14 Mar 2022 10:01:07 +0000</pubDate>
      <link>https://dev.to/fairywen/configuring-checkoracle-nagios-plugin-111g</link>
      <guid>https://dev.to/fairywen/configuring-checkoracle-nagios-plugin-111g</guid>
      <description>&lt;p&gt;Let's see how to set-up &lt;code&gt;Oracle database&lt;/code&gt; monitoring on an &lt;code&gt;eyesofnetwork&lt;/code&gt; server, using &lt;code&gt;check_oracle&lt;/code&gt; plugin.&lt;/p&gt;

&lt;h1&gt;
  
  
  Step 1 : Get check_oracle pluging
&lt;/h1&gt;

&lt;p&gt;First, &lt;code&gt;check_oracle&lt;/code&gt; plugin can already be available on Nagios server, look for &lt;code&gt;yum&lt;/code&gt; package &lt;code&gt;nagios-plugins-oracle.x86_64 : Nagios Plugin - check_oracle&lt;/code&gt;. &lt;br&gt;
Install it if it's not. &lt;/p&gt;
&lt;h1&gt;
  
  
  Step 2 : Install oracle client
&lt;/h1&gt;

&lt;p&gt;The lightest way to get all oracle dependancies we need is to :  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;install an &lt;code&gt;oracle-instantclient&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;add &lt;code&gt;tnsping&lt;/code&gt; by getting it on another server&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Note : &lt;em&gt;We also could have installed "full" &lt;code&gt;oracle client&lt;/code&gt;, but I don't think it would have been relevant.&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;
  
  
  Step 2.1 : Get instant client
&lt;/h2&gt;

&lt;p&gt;So let's get &lt;code&gt;.rpm&lt;/code&gt; package on &lt;a href="https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html"&gt;oracle instant client download page&lt;/a&gt;.&lt;br&gt;&lt;br&gt;
In this example we pick up version &lt;code&gt;19.14.0.0.0&lt;/code&gt; in &lt;code&gt;Basic Package (RPM)&lt;/code&gt; (wich contains &lt;code&gt;SQL*Plus&lt;/code&gt; binary).&lt;br&gt;&lt;br&gt;
Once this package is pushed to targer server, install it :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;[root@nagios-server ~]#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;yum &lt;span class="nb"&gt;install&lt;/span&gt; &amp;lt;path_to&amp;gt;/oracle-instantclient19.14-basic-19.14.0.0.0-1.x86_64.rpm
&lt;span class="go"&gt;Modules complémentaires chargés : fastestmirror
Examen de oracle-instantclient19.14-basic-19.14.0.0.0-1.x86_64.rpm : oracle-instantclient19.14-basic-19.14.0.0.0-1.x86_64
Sélection de oracle-instantclient19.14-basic-19.14.0.0.0-1.x86_64.rpm pour installation
Résolution des dépendances
&lt;/span&gt;&lt;span class="gp"&gt;--&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;Lancement de la transaction de &lt;span class="nb"&gt;test&lt;/span&gt;
&lt;span class="gp"&gt;---&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;Le paquet oracle-instantclient19.14-basic.x86_64 0:19.14.0.0.0-1 sera installé
&lt;span class="gp"&gt;--&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;Résolution des dépendances terminée
&lt;span class="go"&gt;
Dépendances résolues

================================================================================================================================================================================================================================
 Package                                                    Architecture                      Version                                    Dépôt                                                                            Taille
================================================================================================================================================================================================================================
Installation :
 oracle-instantclient19.14-basic                            x86_64                            19.14.0.0.0-1                              /oracle-instantclient19.14-basic-19.14.0.0.0-1.x86_64                            226 M

Résumé de la transaction
================================================================================================================================================================================================================================
Installation   1 Paquet

Taille totale  : 226 M
Taille d'installation : 226 M
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installation : oracle-instantclient19.14-basic-19.14.0.0.0-1.x86_64                                                                                                                                                       1/1
  Vérification : oracle-instantclient19.14-basic-19.14.0.0.0-1.x86_64                                                                                                                                                       1/1

Installé :
  oracle-instantclient19.14-basic.x86_64 0:19.14.0.0.0-1

Terminé !
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;At the end of installation, Oracle client is installed under &lt;code&gt;/usr/lib/oracle/19.14/client64&lt;/code&gt;. That will be our &lt;code&gt;ORACLE_HOME&lt;/code&gt; directory for next steps. &lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2.2 Add tnsping
&lt;/h2&gt;

&lt;p&gt;To do so we just have to get &lt;code&gt;$ORACLE_HOME/bin/tnsping&lt;/code&gt; and &lt;code&gt;$ORACLE_HOME/network/mesg/tnsus.msb&lt;/code&gt; from database server (also running on linux distribution), copy it to Nagios server in equivalent directories and check file permissions.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;tnsping
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;[root@nagios-server ~]#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="nv"&gt;$ORACLE_HOME&lt;/span&gt;
&lt;span class="go"&gt;/usr/lib/oracle/19.14/client64
&lt;/span&gt;&lt;span class="gp"&gt;[root@nagios-server ~]#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;mv &lt;/span&gt;tnsping &lt;span class="nv"&gt;$ORACLE_HOME&lt;/span&gt;/bin/
&lt;span class="gp"&gt;[root@nagios-server ~]#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="nv"&gt;$ORACLE_HOME&lt;/span&gt;/bin/
&lt;span class="gp"&gt;[root@nagios-server bin]#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;ls&lt;/span&gt; &lt;span class="nt"&gt;-la&lt;/span&gt;
&lt;span class="go"&gt;total 180
drwxr-xr-x 2 root   root    4096 11 mars  10:42 .
drwxr-xr-x 5 root   root    4096 11 mars  10:12 ..
-rwxr-xr-x 1 root   root   41504 25 déc.  14:20 adrci
-rwxr-xr-x 1 root   root   59032 25 déc.  14:20 genezi
-rwxr-xr-x 1 root   root   24512 25 déc.  14:22 sqlplus
-rw-rw-r-- 1 user   user   42216 11 mars  10:34 tnsping
&lt;/span&gt;&lt;span class="gp"&gt;[root@nagios-server bin]#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;chmod &lt;/span&gt;755 tnsping
&lt;span class="gp"&gt;[root@nagios-server bin]#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;chown &lt;/span&gt;root.root tnsping
&lt;span class="gp"&gt;[root@nagios-server bin]#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;ls&lt;/span&gt; &lt;span class="nt"&gt;-la&lt;/span&gt;
&lt;span class="go"&gt;total 180
drwxr-xr-x 2 root root  4096 11 mars  10:42 .
drwxr-xr-x 5 root root  4096 11 mars  10:12 ..
-rwxr-xr-x 1 root root 41504 25 déc.  14:20 adrci
-rwxr-xr-x 1 root root 59032 25 déc.  14:20 genezi
-rwxr-xr-x 1 root root 24512 25 déc.  14:22 sqlplus
-rwxr-xr-x 1 root root 42216 11 mars  10:34 tnsping
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;tnsus.msb
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;[root@nagios-server ~]#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;mkdir&lt;/span&gt; &lt;span class="nv"&gt;$ORACLE_HOME&lt;/span&gt;/network/mesg
&lt;span class="gp"&gt;[root@nagios-server ~]#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;mv &lt;/span&gt;tnsus.msb &lt;span class="nv"&gt;$ORACLE_HOME&lt;/span&gt;/network/mesg/.
&lt;span class="gp"&gt;[root@nagios-server ~]#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="nv"&gt;$ORACLE_HOME&lt;/span&gt;/network/mesg
&lt;span class="gp"&gt;[root@nagios-server mesg]#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;ls&lt;/span&gt; &lt;span class="nt"&gt;-la&lt;/span&gt;
&lt;span class="go"&gt;total 60
drwxr-xr-x 2 root   root    4096 11 mars  10:51 .
drwxr-xr-x 4 root   root    4096 11 mars  10:50 ..
-rw-rw-r-- 1 user   user   50688 11 mars  10:49 tnsus.msb
&lt;/span&gt;&lt;span class="gp"&gt;[root@nagios-server mesg]#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;chown &lt;/span&gt;root.root tnsus.msb
&lt;span class="gp"&gt;[root@nagios-server mesg]#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;chmod &lt;/span&gt;644 tnsus.msb
&lt;span class="gp"&gt;[root@nagios-server mesg]#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;ls&lt;/span&gt; &lt;span class="nt"&gt;-la&lt;/span&gt;
&lt;span class="go"&gt;total 60
drwxr-xr-x 2 root root  4096 11 mars  10:51 .
drwxr-xr-x 4 root root  4096 11 mars  10:50 ..
-rw-r--r-- 1 root root 50688 11 mars  10:49 tnsus.msb
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Step 3 : add &lt;code&gt;tnsnames&lt;/code&gt; file
&lt;/h1&gt;

&lt;p&gt;By default after installation, &lt;code&gt;network/admin&lt;/code&gt; directory is under &lt;code&gt;/usr/lib/oracle/19.14/client64/lib&lt;/code&gt;. Usually this would be under &lt;code&gt;$ORACLE_HOME&lt;/code&gt;, so let's move it :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;[root@nagios-server ~]#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; /usr/lib/oracle/19.14/client64/
&lt;span class="gp"&gt;[root@nagios-server client64]#&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nb"&gt;mv &lt;/span&gt;lib/network &lt;span class="nb"&gt;.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then we can create an usual &lt;code&gt;tnsnames.ora&lt;/code&gt; under &lt;code&gt;$ORACLE_HOME/network/admin/&lt;/code&gt; looking like this :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ini"&gt;&lt;code&gt;&lt;span class="py"&gt;MY_DB&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt;
  &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="py"&gt;DESCRIPTION&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt;
    &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="py"&gt;ADDRESS&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt;
      &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="py"&gt;PROTOCOL&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;&amp;lt;protocol&amp;gt;)(HOST = &amp;lt;ip&amp;gt;)(PORT = &amp;lt;port&amp;gt;))&lt;/span&gt;
    &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="py"&gt;CONNECT_DATA&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt;
      &lt;span class="err"&gt;(&lt;/span&gt;&lt;span class="py"&gt;SID&lt;/span&gt; &lt;span class="p"&gt;=&lt;/span&gt; &lt;span class="s"&gt;ORA_SID)&lt;/span&gt;
    &lt;span class="err"&gt;)&lt;/span&gt;
  &lt;span class="err"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  Step 4 : Configure check command
&lt;/h1&gt;

&lt;p&gt;As explained in &lt;a href="https://support.nagios.com/forum/viewtopic.php?f=7&amp;amp;t=56268"&gt;this Nagios support topic&lt;/a&gt;, Nagios plugins doesn't have access to environment variables when running, thus there is no point to set &lt;code&gt;ORACLE_HOME&lt;/code&gt; or update &lt;code&gt;LD_LIBRARY_PATH&lt;/code&gt; in linux system. &lt;br&gt;
Instead, we have to set them directly in check command definition in &lt;code&gt;/etc/nagios/objects/commands/commands.cfg&lt;/code&gt;, example for a tns check :&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;define command {
  command_name my_check_oracle_tns
  command_line /usr/bin/env LD_LIBRARY_PATH=/usr/lib/oracle/19.14/client64/lib ORACLE_HOME=/usr/lib/oracle/19.14/client64 /srv/eyesofnetwork/nagios/plugins/check_oracle --tns $ARG1$
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's all, our Nagios server have now a new command to monitor &lt;code&gt;Oracle database server&lt;/code&gt; 😃&lt;/p&gt;

</description>
      <category>nagios</category>
      <category>linux</category>
      <category>oracle</category>
      <category>monitoring</category>
    </item>
  </channel>
</rss>
