<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Power DevOps Substack]]></title><description><![CDATA[Andrey Klyachkin on Automating IBM Power. 
#IBMChampion #IBMPower #IBMAIX #LinuxOnPower #IBMi #Automation #Ansible]]></description><link>https://blog.power-devops.com</link><image><url>https://substackcdn.com/image/fetch/$s_!_Ud3!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fbed15d38-25b9-4a59-a831-32d672fe95ba_409x409.png</url><title>Power DevOps Substack</title><link>https://blog.power-devops.com</link></image><generator>Substack</generator><lastBuildDate>Fri, 05 Jun 2026 13:44:40 GMT</lastBuildDate><atom:link href="https://blog.power-devops.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Andrey Klyachkin]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[powerdevops@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[powerdevops@substack.com]]></itunes:email><itunes:name><![CDATA[Andrey Klyachkin]]></itunes:name></itunes:owner><itunes:author><![CDATA[Andrey Klyachkin]]></itunes:author><googleplay:owner><![CDATA[powerdevops@substack.com]]></googleplay:owner><googleplay:email><![CDATA[powerdevops@substack.com]]></googleplay:email><googleplay:author><![CDATA[Andrey Klyachkin]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[It Compiles, It Scrapes, It Talks To Db2]]></title><description><![CDATA[Three Things For IBM i, From One Pile Of Patches]]></description><link>https://blog.power-devops.com/p/it-compiles-it-scrapes-it-talks-to</link><guid isPermaLink="false">https://blog.power-devops.com/p/it-compiles-it-scrapes-it-talks-to</guid><pubDate>Fri, 22 May 2026 11:03:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Three weeks ago I wrote that "wait a bit, you'll most probably get it." This is the bit you were waiting for.</p><p>The Go 1.25.9 toolchain runs natively on IBM i 7.5. <code>node_exporter</code> runs on top of it and emits real Prometheus metrics. And &#8212; as a side effect that turned out to be more useful than the goal &#8212; there's now a <code>db2isql</code> you can drop into <code>~/bin</code> and use as a PASE replacement for STRSQL in green screen. All three are downloadable today.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467780,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Power DevOps Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>If you want the short version: scroll to the bottom. If you want to know which IBM i quirks tried to kill me and lost, read on.</p><h2>The Pile Of Patches</h2><p>When I started, I promised myself I would not fork Go. I would maintain a re-baseable patch series against upstream, so that when Go 1.26 ships, I run <code>git rebase</code>, fix whatever the upstream Go team broke for me this time, and move on.</p><p>That promise survived contact with reality. The series sits at 42 patches against <code>go1.25.9</code>. The number is a coincidence. It is also, I am told, the answer to life, the universe, and everything, which feels appropriate for a Go port to a platform that does its own thing about most of life, the universe, and everything. All 42 apply cleanly. Each one does exactly one thing and has a commit message explaining why. The set covers everything from the one-line <code>arenaBaseOffset</code> fix in patch 3 (which I wrote about three weeks ago) up through patches in the high 30s and low 40s that deal with everything from PEM block rewriting to XCOFF build-info sections to <code>go version -m</code> metadata layout. As one specific example: one of the patches rewrites the string <code>"TRUSTED CERTIFICATE"</code> to <code>"CERTIFICATE"</code> in PEM blobs on the fly, because that's how IBM ships the CA bundle on PASE and <code>crypto/x509.AppendCertsFromPEM</code> is very particular about what it considers a certificate.</p><p>I'll spare you the other 40. The shape is always the same: write a probe in C or Go, confirm what PASE actually does, write the smallest possible patch, document, move on.</p><p>A few highlights, because some of them are funny:</p><ul><li><p><strong>Patch 18: </strong><code>-p 1</code><strong> for </strong><code>go test</code><strong>.</strong> PASE's XCOFF loader is not thread-safe across <code>fork</code>+<code>exec</code>. Run two parallel <code>compile</code> invocations and roughly half the time, one of them returns a loader error that looks like nothing else on Earth. Workaround: tell <code>go test</code> to be single-threaded. Slow, but the tests pass.</p></li><li><p><strong>Patch 22: DWARF subtype sections disabled by default.</strong> When <code>go build</code> emits DWARF type info for IBM i, the PASE XCOFF loader takes one look at the result and refuses to load it with the helpful error code <code>0x213c</code>, which is the ASCII for <code>!&lt;</code>, which is the <code>ar</code> archive magic, which means the loader has wandered off into the middle of an archive and lost its place. Disabled until I figure out which DWARF subtype it's choking on.</p></li><li><p><strong>Patch 27/28: </strong><code>cgo</code><strong> resolver forced on.</strong> PASE doesn't have <code>/etc/resolv.conf</code> in any place Go's pure-Go resolver knows to look. The cgo resolver, which goes through libc and asks PASE nicely, works fine. So we force the cgo resolver on IBM i. Net result: <code>http.Get</code> works.</p></li><li><p><strong>Patch 30: auto-detect </strong><code>gcc-10</code><strong> or </strong><code>gcc-12</code><strong>.</strong> There is no unversioned <code>gcc</code> on PASE. There is a <code>gcc</code> symlink, but it points to <code>gcc-6</code>, whose <code>include-fixed</code> headers are from 2017 and redefine <code>sigset_t</code> incompatibly with everything else on the system. You do not want <code>gcc-6</code>. The patch asks the system "do you have <code>gcc-10</code>? <code>gcc-12</code>?" and picks the newest one that exists.</p></li><li><p><strong>Patch 32: </strong><code>cmd/go</code><strong> needs cgo on ibmi.</strong> Because of the resolver patch. Because <code>cmd/go</code> does DNS. Because everyone does DNS. This took an embarrassing amount of time to figure out.</p></li></ul><h2>Some Free Stuff: db2isql</h2><p>This is the part that surprised me.</p><p>On IBM i, when you want to run SQL ad-hoc, you sign on, you type <code>STRSQL</code>, and you're in a green-screen interactive SQL session. It works. It's been working since 1988. Generations of IBM i administrators have muscle-memory for it.</p><p>But if you live in PASE &#8212; in <code>ssh</code>, in <code>vim</code>, in shell pipelines &#8212; STRSQL is a context switch every time. You leave your terminal, you sign on to a 5250 session, you run the query, you copy the result out by hand. There's no <code>|</code>. There's no <code>&gt;</code>. There's no scripting it from a shell <code>for</code> loop.</p><p>The Go port supports cgo. The IBM i ships with <code>libdb400.a</code>, the Db2 SQL CLI library. Putting two and two together: I wrote a <code>database/db2i</code> package &#8212; in the Go standard library, alongside <code>database/sql</code> itself &#8212; that talks to Db2 for i over the CLI. It's not a <code>database/sql</code> driver, strictly speaking. PASE's threading and connection-lifetime constraints don't fit the <code>driver.Driver</code> interface cleanly, so <code>database/db2i</code> is a partial reimplementation of the same shape of API: <code>Open</code>, <code>Query</code>, <code>Exec</code>, <code>Scan</code>, <code>Close</code>. Familiar enough that anyone who has used <code>database/sql</code> will be at home in five minutes. Different enough that it can do what PASE needs without lying to the runtime.</p><p>That was supposed to be a private convenience for the <code>node_exporter</code> collectors. Then I wrapped a 200-line CLI around it called <code>db2isql</code>, and now I reach for it before I reach for STRSQL.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!7Y4x!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad0671d-2231-4e88-bce8-373f6e5f6375_950x249.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!7Y4x!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad0671d-2231-4e88-bce8-373f6e5f6375_950x249.png 424w, https://substackcdn.com/image/fetch/$s_!7Y4x!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad0671d-2231-4e88-bce8-373f6e5f6375_950x249.png 848w, https://substackcdn.com/image/fetch/$s_!7Y4x!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad0671d-2231-4e88-bce8-373f6e5f6375_950x249.png 1272w, https://substackcdn.com/image/fetch/$s_!7Y4x!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad0671d-2231-4e88-bce8-373f6e5f6375_950x249.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!7Y4x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad0671d-2231-4e88-bce8-373f6e5f6375_950x249.png" width="950" height="249" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3ad0671d-2231-4e88-bce8-373f6e5f6375_950x249.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:249,&quot;width&quot;:950,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:40132,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.power-devops.com/i/198752706?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad0671d-2231-4e88-bce8-373f6e5f6375_950x249.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!7Y4x!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad0671d-2231-4e88-bce8-373f6e5f6375_950x249.png 424w, https://substackcdn.com/image/fetch/$s_!7Y4x!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad0671d-2231-4e88-bce8-373f6e5f6375_950x249.png 848w, https://substackcdn.com/image/fetch/$s_!7Y4x!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad0671d-2231-4e88-bce8-373f6e5f6375_950x249.png 1272w, https://substackcdn.com/image/fetch/$s_!7Y4x!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3ad0671d-2231-4e88-bce8-373f6e5f6375_950x249.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>It pipes. It redirects. It returns proper exit codes. You can put it in a shell <code>for</code> loop. And anyone who wants to embed Db2 access into their own Go program just imports <code>database/db2i</code> and gets a working API straight from the standard library &#8212; no third-party package, no <code>go get</code>, no module bookkeeping.</p><p>STRSQL is still there when you want the interactive experience and the F4 prompts. <code>db2isql</code> is for when you want SQL to behave like every other Unix command.</p><p>It cost me about a week to write, of which six full days were spent fighting Db2 CLI quirks on PASE that nobody outside IBM has ever documented in one place. Things like:</p><ul><li><p><strong>Thread affinity is mandatory.</strong> Db2 CLI on PASE refuses to share connections across OS threads. Go schedules goroutines onto threads however it likes. The driver has to <code>runtime.LockOSThread()</code> in <code>Open</code> and <code>runtime.UnlockOSThread()</code> in <code>Close</code>, or the second query after a goroutine migration returns rc=-1 from <code>SQLAllocConnect</code> and you spend a day debugging it.</p></li><li><p><code>SQLGetData</code><strong> is a trap.</strong> On PASE PPC64, calling <code>SQLGetData</code> more than ~6 times sequentially against the same row returns <code>07006</code>. Calling it against a <code>VARGRAPHIC</code> column returns <code>07006</code> immediately. The only safe pattern is <code>SQLBindCol</code> once and <code>SQLFetch</code> in a loop. Which is the documented best practice anyway, but it's nice when "best practice" and "the only thing that works" coincide.</p></li><li><p><code>SQLSetConnectOption(AUTOCOMMIT)</code><strong> segfaults.</strong> Pass an <code>int 1</code> as a <code>SQLPOINTER</code> and PASE PPC64 dereferences it like a pointer. Don't call it. The default is autocommit-on. Move on.</p></li></ul><p>All of these are now written down in my notes, so that the next time I don't have to rediscover them sequentially over six days.</p><h2>node_exporter, At Last</h2><p>The whole reason for this project was <code>node_exporter</code>. So let's close the loop.</p><p>With native Go installed, building <code>node_exporter</code> for IBM i is a 30-second exercise:</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!padg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfd1b43-9974-4122-8314-8d62fd8123e7_943x187.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!padg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfd1b43-9974-4122-8314-8d62fd8123e7_943x187.png 424w, https://substackcdn.com/image/fetch/$s_!padg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfd1b43-9974-4122-8314-8d62fd8123e7_943x187.png 848w, https://substackcdn.com/image/fetch/$s_!padg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfd1b43-9974-4122-8314-8d62fd8123e7_943x187.png 1272w, https://substackcdn.com/image/fetch/$s_!padg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfd1b43-9974-4122-8314-8d62fd8123e7_943x187.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!padg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfd1b43-9974-4122-8314-8d62fd8123e7_943x187.png" width="943" height="187" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/ebfd1b43-9974-4122-8314-8d62fd8123e7_943x187.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:187,&quot;width&quot;:943,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:25168,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.power-devops.com/i/198752706?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfd1b43-9974-4122-8314-8d62fd8123e7_943x187.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!padg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfd1b43-9974-4122-8314-8d62fd8123e7_943x187.png 424w, https://substackcdn.com/image/fetch/$s_!padg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfd1b43-9974-4122-8314-8d62fd8123e7_943x187.png 848w, https://substackcdn.com/image/fetch/$s_!padg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfd1b43-9974-4122-8314-8d62fd8123e7_943x187.png 1272w, https://substackcdn.com/image/fetch/$s_!padg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Febfd1b43-9974-4122-8314-8d62fd8123e7_943x187.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Out of the box, most of the standard collectors don't work &#8212; they read <code>/proc</code>, which PASE doesn't have. So I wrote twelve IBM i-specific collectors that go through QSYS2 system services instead:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!1cl3!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9449ca76-b8f8-489c-84af-a14f1af81d5e_1319x718.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!1cl3!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9449ca76-b8f8-489c-84af-a14f1af81d5e_1319x718.png 424w, https://substackcdn.com/image/fetch/$s_!1cl3!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9449ca76-b8f8-489c-84af-a14f1af81d5e_1319x718.png 848w, https://substackcdn.com/image/fetch/$s_!1cl3!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9449ca76-b8f8-489c-84af-a14f1af81d5e_1319x718.png 1272w, https://substackcdn.com/image/fetch/$s_!1cl3!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9449ca76-b8f8-489c-84af-a14f1af81d5e_1319x718.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!1cl3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9449ca76-b8f8-489c-84af-a14f1af81d5e_1319x718.png" width="1319" height="718" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9449ca76-b8f8-489c-84af-a14f1af81d5e_1319x718.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:718,&quot;width&quot;:1319,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:78639,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.power-devops.com/i/198752706?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9449ca76-b8f8-489c-84af-a14f1af81d5e_1319x718.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!1cl3!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9449ca76-b8f8-489c-84af-a14f1af81d5e_1319x718.png 424w, https://substackcdn.com/image/fetch/$s_!1cl3!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9449ca76-b8f8-489c-84af-a14f1af81d5e_1319x718.png 848w, https://substackcdn.com/image/fetch/$s_!1cl3!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9449ca76-b8f8-489c-84af-a14f1af81d5e_1319x718.png 1272w, https://substackcdn.com/image/fetch/$s_!1cl3!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9449ca76-b8f8-489c-84af-a14f1af81d5e_1319x718.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The <code>database/db2i</code> package is what makes these collectors possible. Each collector is a few dozen lines of Go that opens a Db2 connection, runs a SELECT, and writes Prometheus metrics. The Db2 part is invisible to anyone looking at the resulting <code>/metrics</code> endpoint.</p><p>The output looks like every other <code>node_exporter</code> on Earth:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JMBK!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13fce322-9e67-4ea0-911d-75d5b429317e_947x495.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JMBK!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13fce322-9e67-4ea0-911d-75d5b429317e_947x495.png 424w, https://substackcdn.com/image/fetch/$s_!JMBK!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13fce322-9e67-4ea0-911d-75d5b429317e_947x495.png 848w, https://substackcdn.com/image/fetch/$s_!JMBK!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13fce322-9e67-4ea0-911d-75d5b429317e_947x495.png 1272w, https://substackcdn.com/image/fetch/$s_!JMBK!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13fce322-9e67-4ea0-911d-75d5b429317e_947x495.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JMBK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13fce322-9e67-4ea0-911d-75d5b429317e_947x495.png" width="947" height="495" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/13fce322-9e67-4ea0-911d-75d5b429317e_947x495.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:495,&quot;width&quot;:947,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:96102,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.power-devops.com/i/198752706?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13fce322-9e67-4ea0-911d-75d5b429317e_947x495.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JMBK!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13fce322-9e67-4ea0-911d-75d5b429317e_947x495.png 424w, https://substackcdn.com/image/fetch/$s_!JMBK!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13fce322-9e67-4ea0-911d-75d5b429317e_947x495.png 848w, https://substackcdn.com/image/fetch/$s_!JMBK!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13fce322-9e67-4ea0-911d-75d5b429317e_947x495.png 1272w, https://substackcdn.com/image/fetch/$s_!JMBK!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F13fce322-9e67-4ea0-911d-75d5b429317e_947x495.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Sn7y!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff14a8267-d3ea-4815-9ef6-b32668d84145_951x747.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Sn7y!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff14a8267-d3ea-4815-9ef6-b32668d84145_951x747.png 424w, https://substackcdn.com/image/fetch/$s_!Sn7y!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff14a8267-d3ea-4815-9ef6-b32668d84145_951x747.png 848w, https://substackcdn.com/image/fetch/$s_!Sn7y!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff14a8267-d3ea-4815-9ef6-b32668d84145_951x747.png 1272w, https://substackcdn.com/image/fetch/$s_!Sn7y!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff14a8267-d3ea-4815-9ef6-b32668d84145_951x747.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Sn7y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff14a8267-d3ea-4815-9ef6-b32668d84145_951x747.png" width="951" height="747" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f14a8267-d3ea-4815-9ef6-b32668d84145_951x747.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:747,&quot;width&quot;:951,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:154257,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.power-devops.com/i/198752706?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff14a8267-d3ea-4815-9ef6-b32668d84145_951x747.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Sn7y!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff14a8267-d3ea-4815-9ef6-b32668d84145_951x747.png 424w, https://substackcdn.com/image/fetch/$s_!Sn7y!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff14a8267-d3ea-4815-9ef6-b32668d84145_951x747.png 848w, https://substackcdn.com/image/fetch/$s_!Sn7y!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff14a8267-d3ea-4815-9ef6-b32668d84145_951x747.png 1272w, https://substackcdn.com/image/fetch/$s_!Sn7y!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff14a8267-d3ea-4815-9ef6-b32668d84145_951x747.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dKWN!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F560073be-4c92-4bab-bf71-6b88bb0b3cc1_946x311.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dKWN!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F560073be-4c92-4bab-bf71-6b88bb0b3cc1_946x311.png 424w, https://substackcdn.com/image/fetch/$s_!dKWN!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F560073be-4c92-4bab-bf71-6b88bb0b3cc1_946x311.png 848w, https://substackcdn.com/image/fetch/$s_!dKWN!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F560073be-4c92-4bab-bf71-6b88bb0b3cc1_946x311.png 1272w, https://substackcdn.com/image/fetch/$s_!dKWN!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F560073be-4c92-4bab-bf71-6b88bb0b3cc1_946x311.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dKWN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F560073be-4c92-4bab-bf71-6b88bb0b3cc1_946x311.png" width="946" height="311" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/560073be-4c92-4bab-bf71-6b88bb0b3cc1_946x311.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:311,&quot;width&quot;:946,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:68967,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.power-devops.com/i/198752706?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F560073be-4c92-4bab-bf71-6b88bb0b3cc1_946x311.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dKWN!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F560073be-4c92-4bab-bf71-6b88bb0b3cc1_946x311.png 424w, https://substackcdn.com/image/fetch/$s_!dKWN!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F560073be-4c92-4bab-bf71-6b88bb0b3cc1_946x311.png 848w, https://substackcdn.com/image/fetch/$s_!dKWN!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F560073be-4c92-4bab-bf71-6b88bb0b3cc1_946x311.png 1272w, https://substackcdn.com/image/fetch/$s_!dKWN!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F560073be-4c92-4bab-bf71-6b88bb0b3cc1_946x311.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8230;but it also exposes things <code>node_exporter</code> on a Linux box has never heard of. The LPAR collector emits a single info gauge with everything you'd want to alert on baked in as labels:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;2101989d-ceed-4ac7-83fc-d0793646530e&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">node_lpar_info{
    machine_type="9009",
    machine_model="22A",
    machine_serial_number="78D7930",
    partition_id="8",
    partition_name="vm-99024459-138560990",
    ipl_type="B",
    ipl_mode="NORMAL",
    cpu_sharing_attribute="CAPPED",
    dedicated_processors="NO",
    hardware_multithreading="YES",
    bound_hardware_threads="YES",
    attention_light="OFF",
    restricted_state="NO",
    shared_processor_pool_id="0",
    partition_group_id="32776"
} 1</code></pre></div><p>Wrap <code>changes(node_lpar_info[5m])</code> around that in PromQL and you get an alert the moment the attention light comes on, or the partition gets moved by LPM. Things you'd otherwise notice by walking past the HMC.</p><p>The <code>sysval</code> collector exposes every system value the OS will tell you about. ~130 numeric and character system values, all carried as Prometheus metrics:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;11814034-cc7f-4db3-a9fd-40eb00940dde&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">node_system_value{name="QMAXJOB"}      163520
node_system_value{name="QACTJOB"}      200
node_system_value{name="QPWDMINLEN"}   6
node_system_value{name="QPWDMAXLEN"}   8

node_system_value_info{name="QSECURITY",value="50"}        1
node_system_value_info{name="QAUDLVL",value="*SECCFG *SECRUN"} 1
node_system_value_info{name="QCRTAUT",value="*CHANGE"}     1
node_system_value_info{name="QPWDRULES",value="*PWDSYSVAL"} 1</code></pre></div><p>If you've ever wanted to alert when somebody quietly drops <code>QSECURITY</code> from 50 to 40, this is how. <code>changes(node_system_value_info{name="QSECURITY"}[1h]) &gt; 0</code> and you get a Slack ping within the scrape interval. Same trick works for any system value you care about.</p><p>Which means: same Prometheus, same Grafana, same dashboards, same alerts. Drop the binary on every IBM i partition you own, point your existing Prometheus at port 9100, and the IBM i finally joins its AIX and Linux siblings on the same dashboard &#8212; except now the IBM i is the one with the most interesting labels.</p><h2>What You Came Here For</h2><p>Three downloads. Direct links, no landing page, no clickthrough:</p><p><strong>Go 1.25.9 for IBM i</strong> &#8212; <a href="https://dl.power-devops.com/ibmi/go1.25.9-ibmi-port-45-ibmi-ppc64.tbz">go1.25.9-ibmi-port-45-ibmi-ppc64.tbz</a> (checksum: <a href="https://dl.power-devops.com/ibmi/go1.25.9-ibmi-port-45-ibmi-ppc64.tbz.sha256">.sha256</a>).</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;b311418c-31d0-48d0-8103-494b63e1ad02&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext"># On the IBM i target, as any PASE user:
cd $HOME
/QOpenSys/pkgs/bin/tar xjf go1.25.9-ibmi-port-45-ibmi-ppc64.tbz
export PATH=$HOME/go-ibmi-1.25.9/bin:$PATH
export GOTMPDIR=$HOME/tmp     # /tmp can be cleaned without your consent
mkdir -p $HOME/tmp
go version</code></pre></div><p>You should see <code>go version go1.25.9 ibmi-port-45 ibmi/ppc64</code>. Prerequisites you'll want from <code>yum</code>: <code>gcc-10</code>, <code>db2-server-utils</code>, <code>ca-certificates-mozilla</code>. The first <code>go build</code> after install takes tens of seconds while it warms its cache from the standard library; subsequent builds are sub-second.</p><p>A self-contained <code>README-IBM-i.md</code> ships inside the tarball with full prerequisites, env vars, and known limitations.</p><p>Cross-compilation from macOS or Linux x86_64 works (<code>GOOS=ibmi GOARCH=ppc64</code>), but I'm not shipping bootstrap binaries for those hosts in this release. If you need a cross-compiler, email me or write down the comment.</p><p><strong>node_exporter for IBM i</strong> &#8212; <a href="https://dl.power-devops.com/ibmi/node_exporter">node_exporter</a>. Single binary. Drop it in <code>/opt/node_exporter/</code>, run it from a job description, scrape it on :9100.</p><p><strong>db2isql</strong> &#8212; <a href="https://dl.power-devops.com/ibmi/db2isql">db2isql</a>. Single binary. <code>db2isql "your SQL here"</code>. Pipes work. <code>-f json</code> for when you want to feed it into something else.</p><h2>Common Europe Congress 2026 is there!</h2><p><em>The <a href="https://commoneuropecongress2026.sched.com/">agenda</a> is published! Do you want to know where AIX is going to? It means you MUST visit the Common Europe Congress in Lyon, France. There will be sessions about new AIX features and open source community development. We will talk about AIX and IBM Power automation and Zero Downtime for AIX. Join me in Lyon!</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://comeur.org/common-europe-congress-2026/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BDCb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 424w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 848w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1272w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BDCb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png" width="697" height="293" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:293,&quot;width&quot;:697,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:345706,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://comeur.org/common-europe-congress-2026/&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.power-devops.com/i/194437442?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!BDCb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 424w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 848w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1272w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>What's Next</h2><p>The XCOFF build-info section isn't right yet, so <code>go version -m &lt;binary&gt;</code> reports "not a Go executable" against IBM i binaries. The binaries are fine &#8212; they just don't carry the build metadata in a section the upstream <code>cmd/go</code> knows how to find. That's the next patch.</p><p>After that: the loader race is currently worked around with <code>-p 1</code>. I'd like to actually fix it, by pre-warming the loader before <code>cmd/go</code> forks parallel children. That's a multi-week project, but it'll bring parallel builds back and make <code>make.bash</code> 8&#215; faster on a real machine.</p><p>But most importantly, before any of that: <strong>the <a href="https://comeur.org/common-europe-congress-2026/">Common Europe Congress 2026</a> in Lyon, France.</strong> This is the first and biggest thing on my calendar. I need to be prepared, which means the next chunk of my time goes there. If you want to talk about the port, the collectors, what's missing, what should come next, or just to see the live demo running on a real LPAR &#8212; find me at the Congress. Grab me between sessions, corner me at coffee, wave at me across the room. Whatever works. I'd rather have those conversations face-to-face than over email.</p><p>If you build something on top of this, tell me. If something breaks, tell me. That's how you help everyone in the community!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/p/it-compiles-it-scrapes-it-talks-to?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.power-devops.com/p/it-compiles-it-scrapes-it-talks-to?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>Have fun with Go on IBM i!</p><p>Andrey</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wz8R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wz8R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 424w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 848w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png" width="500" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:235684,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Wz8R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 424w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 848w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Hi, I am Andrey Klyachkin, IBM Champion and IBM AIX Community Advocate. This means I don&#8217;t work for IBM. Over the last twenty years, I have worked with many different IBM Power customers all over the world, both on-premise and in the cloud. I specialize in automating IBM Power infrastructures, making them even more robust and agile. I co-authored several IBM Redbooks and IBM Power certifications. I am an active Red Hat Certified Engineer and Instructor.</p><p>Follow me on <a href="https://www.linkedin.com/in/aklyachkin/">LinkedIn</a>, <a href="https://x.com/PowerDevops">Twitter</a> and <a href="https://www.youtube.com/@powerdevops">YouTube</a>.</p><p>You can meet me at events like <a href="https://www.ibm.com/community/ibm-techxchange-conference/">IBM TechXchange</a>, the <a href="https://comeur.org/">Common Europe Congress</a>, and <a href="https://www.gse.org/german-workinggroups/spsrd-power-systems/">GSE Germany&#8217;s IBM Power Working</a> Group sessions.</p><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[The Missing Piece: Teaching Go About IBM i]]></title><description><![CDATA[Two Weeks On A Compiler. So You Don't Have To.]]></description><link>https://blog.power-devops.com/p/the-missing-piece-teaching-go-about</link><guid isPermaLink="false">https://blog.power-devops.com/p/the-missing-piece-teaching-go-about</guid><pubDate>Fri, 08 May 2026 11:03:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Two weeks ago I wrote about getting Prometheus running on AIX. Last week I wrote about the full Prometheus-based monitoring stack for IBM Power: Prometheus on Linux or AIX, <code>node_exporter</code> on AIX and Linux on Power, <code>njmon</code> bolted on for the deep stuff.</p><p>Look at that list. We have Linux on Power. We have AIX. What's missing?</p><p>IBM i.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467780,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Power DevOps Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>There's no official <code>node_exporter</code> for IBM i. There are some community projects out there in various languages &#8212; Python, Node, the usual suspects &#8212; but no proper Prometheus-team <code>node_exporter</code>. That's not a coincidence. It's because <strong>there is no Google Go for IBM i</strong>. And <code>node_exporter</code> is written in Go.</p><p>I asked IBM about a Go port roughly two years ago. The answer was the one you've heard before if you've asked IBM for anything: <em>"if you find a paying customer for it, we'll do it."</em> No customers were forthcoming. The matter rested.</p><p>Until two weeks ago, when I thought: <em>Andrey, if you want even an empty-shell </em><code>node_exporter</code><em> for IBM i, you need a Go compiler first. Maybe just try it.</em></p><p>So I tried it.</p><h2>Step 0: Don't Fork. Patch.</h2><p>The first decision was the most important one. There is already a thing on GitHub called <code>ibmigo</code>, written by Sumit Goyal, who kindly sent me the link when I started poking at this. It works by lying to the Go toolchain &#8212; it tells the compiler "I am AIX" and then patches over the places where AIX-the-real and AIX-the-PASE diverge. It's clever and it works, but it's a fork, and forks rot. Every time upstream Go ships a new release, you're rebasing a wall of changes against a moving target.</p><p>I wanted a re-baseable patch series against upstream Go, with <code>GOOS=ibmi</code> as a first-class build target. That means: when a new Go version comes out, I run <code>git rebase</code> against the new tag, fix whatever broke, ship it. No fork. No drift. Each patch a small, reviewable, single-purpose change.</p><p>This is more work upfront and a lot less work forever. So far I'm at 36 patches and counting.</p><h2>Step 1: The Heap (Or, A Surprisingly Elegant Fix)</h2><p>The first real problem was memory.</p><p>Go's runtime has a fast path for converting any heap pointer into a metadata-table index. It assumes heap addresses fit in 48 bits, with one fixed offset baked in per platform to handle whatever weird high-bit prefix that OS happens to use.</p><p>On Linux: zero offset. </p><p>On AIX: addresses live in the range <code>0x0a00000000000000</code> and up. So Go's runtime has a constant <code>arenaBaseOffset = 0x0a00...</code> for AIX, hardcoded.</p><p>I cross-compiled my first hello-world for IBM i, scp'd it to pub400, ran it, and got:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;66f9f91e-e57e-4af8-ba60-46184ce19b40&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">runtime: memory allocated by OS [0x0700000028000000, ...]
   not in usable address space
fatal error: memory reservation exceeds address space limit</code></pre></div><p>So PASE doesn't put memory at <code>0x0a000...</code> like AIX does. PASE puts it at <code>0x07000...</code>. Different upper prefix, same shape of problem. The whole runtime threw up its hands on the very first allocation.</p><p>I wrote a small C probe program &#8212; <code>mmap</code> a few hundred pages, print the addresses &#8212; and confirmed: <strong>every PASE allocation has the prefix </strong><code>0x07000000</code>. Always. The whole 1 TiB Teraspace region lives under that prefix. PASE also ignores <code>mmap</code> hints, by the way, which I confirmed by hinting it five different addresses and watching it return <code>0x07000000...</code> every single time, smiling pleasantly.</p><p>The fix was a one-line addition:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;go&quot;,&quot;nodeId&quot;:&quot;b4585eb0-7e67-4d42-96c0-e46d74a83c08&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-go">arenaBaseOffset = 0xffff800000000000*goarch.IsAmd64
               + 0x0a00000000000000*goos.IsAix
               + 0x0700000000000000*goos.IsIbmi   // &lt;-- added</code></pre></div><p>That's it. The blocker that has kept Go off PASE since at least 2021 &#8212; <a href="https://github.com/golang/go/issues/45017">issue #45017</a> if you want to look it up &#8212; was a single constant. After that, hello-world ran. I almost felt cheated by how easy that was.</p><p>The universe, sensing my hubris, then arranged for everything else.</p><h2>Step 2: PASE Is Mostly AIX, Until It Isn't</h2><p>Phase 1 was the cross-compiler &#8212; build on my Mac, run the binary on pub400. That worked end to end with twelve patches. 8/8 of my test battery green. I felt good. I decided to do Phase 2: a native self-hosted Go toolchain, running on IBM i itself, capable of compiling itself.</p><p>That's when PASE got interesting.</p><p>A native toolchain means Go's <code>make.bash</code> runs <em>on the target system</em>. Which means every weird thing PASE does that's slightly different from AIX gets exercised, in production, all at once.</p><p>A small selection of what fell out:</p><p><code>uname -m</code><strong> returns the system serial number.</strong> Not <code>ppc64</code>. Not <code>powerpc</code>. The literal serial number of the machine &#8212; <code>007800001B91</code> on pub400. Go's build system uses <code>uname -m</code> to figure out what architecture it's running on. It does not know what to do with <code>007800001B91</code>. Patch: hardcode <code>gohostarch=ppc64</code> for ibmi, mirroring the existing AIX special case.</p><p><code>fstatat</code><strong> is a stub.</strong> Go's <code>os</code> package uses <code>fstatat(dirfd, ...)</code> to do <code>stat</code>-relative-to-a-directory operations. PASE's libc <code>fstatat</code> accepts exactly one value for <code>dirfd</code>: <code>AT_FDCWD</code>. Pass it any real directory file descriptor and it returns <code>EINVAL</code>. I found this out by writing &#8212; surprise &#8212; another C probe program, watching tests T1, T2, T8 pass and T3 through T7, T9, T10 fail with the same error code. The fix was to route ibmi onto Go's existing <code>statat_other.go</code> fallback path, the same code path used by plan9 and js/wasm &#8212; platforms that also don't have a real <code>fstatat</code>. The IBM i is in good company.</p><p><strong>Errno isn't cleared on success.</strong> This one nearly cost me a full day of debugging the wrong thing. On every Unix you've ever used, a successful syscall doesn't touch <code>errno</code>. On PASE, a successful syscall <em>also</em> doesn't touch <code>errno</code> &#8212; but if a previous failed call left a stale value in there, that stale value is still there, and your test program will happily read it and conclude that the current call failed too. I had to add <code>errno = 0</code> before every probe call. Lesson learned, applied to every probe written since.</p><p><strong>The XCOFF loader races itself.</strong> This is the one I'm currently sitting on. PASE's dynamic loader is not thread-safe when multiple processes simultaneously resolve imports from the same shared library. Go's build system likes to do exactly that &#8212; it spawns parallel compile jobs, each of which <code>fork</code>s and <code>exec</code>s a fresh <code>compile</code> binary, all of which need <code>libpthreads.a</code> resolved at the same moment. About 50% of the time, two of them step on each other and the build dies with a loader error code. Workaround: pin <code>cmd/go</code> to single-threaded build (<code>-p 1</code>) on ibmi. It's slow but it's deterministic. A real fix is going to need either retry logic in the runtime's <code>exec</code> path or a pre-warm of the loader's cache.</p><p>There are more patches like this. I'll spare you them. The shape is always the same: write a probe, confirm what PASE actually does, write the smallest possible patch, document, move on.</p><h2>Step 3: The Reference Port That Already Did Half The Work</h2><p>About halfway through Phase 2 I went back to look at <code>ibmigo</code>'s git history more carefully &#8212; Sumit&#8217;s port, the existing fork I'd decided not to use as my base &#8212; and found that he had independently discovered most of the same PASE quirks I was hitting. Same <code>-p=1</code> workaround for the loader race. Same <code>maxbg=1</code> for the GC. Even the same trick of retrying <code>mkdir</code> in a loop because PASE's syscalls are sometimes spuriously racy.</p><p>I'd been worried I was the only one seeing some of this. Turns out: no, this is just what PASE is. Sumit and I have shared confused experiences across years of disconnected effort, and we both ended up at almost identical workarounds. There is some comfort in that.</p><h2>Common Europe Congress 2026 is there!</h2><p><em>The <a href="https://commoneuropecongress2026.sched.com/">agenda</a> is published! Do you want to know where AIX is going to? It means you MUST visit the Common Europe Congress in Lyon, France. There will be sessions about new AIX features and open source community development. We will talk about AIX and IBM Power automation and Zero Downtime for AIX. Join me in Lyon!</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://comeur.org/common-europe-congress-2026/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BDCb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 424w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 848w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1272w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BDCb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png" width="697" height="293" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:293,&quot;width&quot;:697,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:345706,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://comeur.org/common-europe-congress-2026/&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.power-devops.com/i/194437442?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!BDCb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 424w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 848w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1272w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Where We Are, And Where We're Going</h2><p>The current state: cross-compile from my Mac to IBM i works cleanly. A native Go toolchain on IBM i builds, but only with <code>GOMAXPROCS=1</code> and <code>-p=1</code>, and <code>make.bash</code> succeeds maybe half the time because of the loader race. I don't yet trust it enough to publish it. <em>Alpha</em> would be a generous label.</p><p>But it compiles things. It runs things. It is real Go, talking to real IBM i.</p><p>Once I'm confident the loader race is properly worked around &#8212; not just papered over &#8212; I'll publish the port. Anyone who wants to download the port and see what happens will be able to do so. After that comes <code>node_exporter</code>. And after that, the IBM i finally gets to join its AIX and Linux siblings in the same Prometheus dashboard, scraped on the same port 9100, looking like every other host on the network.</p><p>Wait a bit. You'll most probably get it.</p><h2>Thanks</h2><p>This work would have been considerably harder, and possibly impossible at this speed, without <strong><a href="https://pub400.com">pub400.com</a></strong> &#8212; the free public IBM i system run by <strong>Holger Scherer</strong>. Every probe program in this article ran on pub400. Every "okay but does PASE actually do this?" question got answered there. Holger has been running this service for years, free of charge, for the IBM i community. If you're doing anything with IBM i and you don't have your own LPAR handy, pub400 is where you go. Holger, thank you.</p><p>Thanks also to <strong>Sumit Goyal</strong>, who built the <code>ibmigo</code> port and sent me the link when I started this. Several of the trickier PASE workarounds in my patch series &#8212; the loader-race mitigations especially &#8212; exist in something like their current form because Sumit got there first and his repo is public. Independent confirmation that you're not hallucinating a problem is worth a lot when you're three days into debugging a 50%-flaky build.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/p/the-missing-piece-teaching-go-about?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.power-devops.com/p/the-missing-piece-teaching-go-about?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>Have fun porting software to your favorite platform!</p><p>Andrey</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wz8R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wz8R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 424w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 848w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png" width="500" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:235684,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Wz8R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 424w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 848w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Hi, I am Andrey Klyachkin, IBM Champion and IBM AIX Community Advocate. This means I don&#8217;t work for IBM. Over the last twenty years, I have worked with many different IBM Power customers all over the world, both on-premise and in the cloud. I specialize in automating IBM Power infrastructures, making them even more robust and agile. I co-authored several IBM Redbooks and IBM Power certifications. I am an active Red Hat Certified Engineer and Instructor.</p><p>Follow me on <a href="https://www.linkedin.com/in/aklyachkin/">LinkedIn</a>, <a href="https://x.com/PowerDevops">Twitter</a> and <a href="https://www.youtube.com/@powerdevops">YouTube</a>.</p><p>You can meet me at events like <a href="https://www.ibm.com/community/ibm-techxchange-conference/">IBM TechXchange</a>, the <a href="https://comeur.org/">Common Europe Congress</a>, and <a href="https://www.gse.org/german-workinggroups/spsrd-power-systems/">GSE Germany&#8217;s IBM Power Working</a> Group sessions.</p><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Some Assembly Required: A Prometheus Stack for IBM Power]]></title><description><![CDATA[The Allen Key Is In The Box. The Box Is This Newsletter.]]></description><link>https://blog.power-devops.com/p/some-assembly-required-a-prometheus</link><guid isPermaLink="false">https://blog.power-devops.com/p/some-assembly-required-a-prometheus</guid><pubDate>Fri, 01 May 2026 11:03:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Over the last few weeks I've been writing about the parts: <code>node_exporter</code> on AIX, <code>node_exporter</code> on Linux on Power, Prometheus itself ported to AIX. Each one is a piece of a thing, and the thing is a working monitoring stack for an IBM Power environment. Imagine the flatpack arrived in three deliveries, on three different days, each one missing a different sheet of instructions.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467780,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Power DevOps Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p>This week, let's assemble it all. Like an IKEA wardrobe, except the instructions are in English, the screws are all accounted for, and nobody ends up sleeping on the floor.</p><p>If you already have <code>nmon</code>/<code>njmon</code> running on your AIX boxes &#8212; and you probably do &#8212; that's a perfectly good wardrobe you don't have to throw out. There's a way to bolt it onto the new one. That's at the end. Stick around.</p><h2>Step 1: Decide Where The Wardrobe Goes</h2><p>Prometheus needs to live somewhere. Pick the wall before you start drilling, because moving it later is annoying. The somewhere has three constraints, in order of how much they actually matter:</p><p><strong>Network reach.</strong> Whatever host runs Prometheus has to be able to open TCP connections to every server you want to scrape. If your AIX LPARs are on one VLAN and your x86 monitoring infrastructure is on another with a firewall between them, you'll be filing tickets. Putting Prometheus <em>inside</em> the Power environment &#8212; on a Linux on Power LPAR or on AIX itself &#8212; usually saves you that fight.</p><p><strong>Disk.</strong> Prometheus writes a lot. Plan for ~1-2 bytes per sample, ~15s scrape interval, ~500 samples per scrape per <code>node_exporter</code> target. That&#8217;s roughly 3-6 GB per host per year at default retention (15 days), but you&#8217;ll want longer retention than that, and you&#8217;ll want headroom. SSD or fast SAN. Don&#8217;t put the TSDB on NFS. It will hurt you.</p><p><strong>CPU and RAM.</strong> Modest. A single Prometheus instance scraping a hundred hosts every 15 seconds will run happily in 2 VPs and 4 GB. Scale up from there only when you have evidence you need to.</p><p>What does that mean concretely?</p><ul><li><p><strong>Linux on Power LPAR</strong> &#8212; my default recommendation. Same architecture as your AIX boxes, so it sits right next to them on the network. Standard <code>prometheus</code> package from your distro or from the <a href="http://prometheus.io/download/">Prometheus site</a>. Boring. Works.</p></li><li><p><strong>AIX LPAR</strong> &#8212; use the port from <a href="https://blog.power-devops.com/p/prometheus-didnt-want-to-come-to">last week's newsletter</a>. Useful when you want everything inside AIX and not depending on a Linux jump box. Less boring. Beta quality warning.</p></li><li><p><strong>x86 Linux VM</strong> &#8212; fine if it has clean network reach into your Power environment. Most shops already have one running for the rest of their fleet, and adding Power targets to an existing Prometheus is the path of least resistance.</p></li></ul><p>Pick one. Don't overthink it. You can move the wardrobe later &#8212; the config is a YAML file and the data is a directory.</p><h2>Step 2: Attach A node_exporter To Every Panel</h2><p>For each AIX and Linux on Power host you want to monitor, drop <code>node_exporter</code> in, run it, point Prometheus at port 9100. That's the whole shape. These are the dowels &#8212; small, identical, and you need one in every hole.</p><p>On a single host, by hand, it looks like this on AIX:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;65a69e61-efc0-4b58-be33-ff7e282d3a9c&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">mkdir -p /opt/node_exporter
cd /opt/node_exporter
gzip -dc /tmp/node_exporter-aix-ppc64.tar.gz | tar xf -
./node_exporter &amp;</code></pre></div><p>And then in <code>/etc/inittab</code>:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;60b73c0b-3199-4fbe-9a5d-285eb1790982&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">nodeexp:2:respawn:/opt/node_exporter/node_exporter &gt;/dev/console 2&gt;&amp;1</code></pre></div><p>On Linux on Power, it's the same idea with systemd instead of inittab. Doing this fifty times by hand is the part where you give up and call your spouse for help. So:</p><h2>Step 3: Ansible, The Cordless Drill</h2><p>Here's a minimal playbook that handles both AIX and Linux on Power. The conditional logic is unavoidable &#8212; the platforms genuinely differ in how services start &#8212; but it's all in one place.</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;yaml&quot;,&quot;nodeId&quot;:&quot;b3c1334d-7581-47d4-be6d-be1ef467169c&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-yaml">---
- name: Deploy node_exporter on IBM Power
  hosts: all
  gather_facts: true
  become: true

  vars:
    node_exporter_version: "1.11.1"
    node_exporter_user: "nodeexp"
    node_exporter_dir: "/opt/node_exporter"

  tasks:
    - name: Create node_exporter user (AIX)
      ibm.power_aix.user:
        state: present
        name: "{{ node_exporter_user }}"
        change_passwd_on_login: false
        attributes:
          home: "{{ node_exporter_dir }}"
          shell: /bin/false
      when: ansible_system == "AIX"

    - name: Create node_exporter user (Linux on Power)
      ansible.builtin.user:
        name: "{{ node_exporter_user }}"
        system: true
        shell: /bin/false
        home: "{{ node_exporter_dir }}"
        create_home: false
      when: ansible_system == "Linux"

    - name: Create install directory
      ansible.builtin.file:
        path: "{{ node_exporter_dir }}"
        state: directory
        owner: "{{ node_exporter_user }}"
        mode: "0755"

    - name: Copy node_exporter binary (AIX)
      ansible.builtin.copy:
        src: "files/node_exporter-aix-ppc64"
        dest: "{{ node_exporter_dir }}/node_exporter"
        owner: "{{ node_exporter_user }}"
        mode: "0755"
      when: ansible_system == "AIX"

    - name: Copy node_exporter binary (Linux on Power)
      ansible.builtin.copy:
        src: "files/node_exporter-linux-ppc64le"
        dest: "{{ node_exporter_dir }}/node_exporter"
        owner: "{{ node_exporter_user }}"
        mode: "0755"
      when: ansible_system == "Linux"

    - name: Install systemd unit (Linux)
      ansible.builtin.copy:
        dest: /etc/systemd/system/node_exporter.service
        content: |
          [Unit]
          Description=Prometheus node_exporter
          After=network.target

          [Service]
          User={{ node_exporter_user }}
          ExecStart={{ node_exporter_dir }}/node_exporter
          Restart=on-failure

          [Install]
          WantedBy=multi-user.target
      when: ansible_system == "Linux"
      notify: restart node_exporter linux

    - name: Add node_exporter to inittab (AIX)
      ibm.power_aix.inittab:
        state: present
        name: nodeexp
        runlevel: "2"
        action: respawn
        command: "{{ node_exporter_dir }}/node_exporter &gt;/dev/null 2&gt;&amp;1"
      when: ansible_system == "AIX"
      notify: reload inittab

  handlers:
    - name: restart node_exporter linux
      ansible.builtin.systemd:
        name: node_exporter
        state: restarted
        enabled: true
        daemon_reload: true

    - name: reload inittab
      ansible.builtin.command: init q</code></pre></div><p>That's the whole deployment story for ten or ten thousand hosts.</p><p>Then point Prometheus at them:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;yaml&quot;,&quot;nodeId&quot;:&quot;6e88f858-24ea-40a9-b5d1-6de6dc7bf225&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-yaml">scrape_configs:
  - job_name: 'power-aix'
    static_configs:
      - targets:
          - aix01.example.com:9100
          - aix02.example.com:9100

  - job_name: 'power-linux'
    static_configs:
      - targets:
          - lop01.example.com:9100
          - lop02.example.com:9100</code></pre></div><p>Should I write a playbook for you to add all your AIX and Linux on Power servers to the config?</p><p>Reload Prometheus, query <code>up</code>, see ones, profit.</p><h2>Step 4: The Wardrobe You Already Own</h2><p>Here's the thing. If you've been running AIX for any length of time, you probably already have <code>njmon</code>. Probably with crontabs and dashboards and people who have opinions about it. That's the perfectly good wardrobe from the intro. Don't throw it out &#8212; bolt it on.</p><p><code>node_exporter</code> gives you the standard ~150 metrics that Prometheus people expect. <code>njmon</code> gives you on the order of 1500 &#8212; every disk, every adapter, every CPU, every workload class. It's <em>much</em> more detailed than <code>node_exporter</code>, especially for the Power-specific stuff that the Linux-world <code>node_exporter</code> doesn't know exists.</p><p>You don't have to choose. You can run both, and you can feed <code>njmon</code> data into the same Prometheus.</p><p>There are two routes. Pick one.</p><h2>Route A: Telegraf as a translator (the well-trodden path)</h2><p>This is the route <a href="https://www.ibm.com/support/pages/nimon-working-prometheus">Nigel Griffiths himself documents on the IBM site</a>, and it's the one most shops end up on. The shape:</p><ul><li><p><code>njmon</code> (or better, <code>nimon</code> &#8212; same tool, InfluxDB Line Protocol output) runs on each AIX host and <strong>pushes</strong> its metrics out over the network.</p></li><li><p><strong>One</strong> <code>telegraf</code> instance &#8212; could be the same Linux-on-Power or AIX box hosting Prometheus &#8212; receives those pushes from <em>all</em> your AIX hosts on a single port via the <code>inputs.influxdb_listener</code> plugin. You don't need a Telegraf per AIX node; one funnel handles the whole fleet.</p></li><li><p>Telegraf re-exposes the metrics as a Prometheus-format <code>/metrics</code> endpoint via the <code>outputs.prometheus_client</code> plugin.</p></li><li><p>Prometheus scrapes Telegraf like any other target.</p></li></ul><p>The funnel: AIX &#8594; push &#8594; Telegraf &#8594; pull &#8592; Prometheus.</p><p>On the AIX side:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;a01a48af-da40-4e2b-b14c-28162a4561c6&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">nimon -s 30 -c 2880 -i telegraf-host.example.com -p 8080</code></pre></div><p>That tells <code>nimon</code> to send a sample every 30 seconds, for 2880 iterations (24 hours), to your Telegraf host on port 8080. Run it from <code>/etc/inittab</code> for production.</p><p>On the Telegraf side, a minimal <code>telegraf.conf</code>:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;5b7700b0-4495-4726-86c3-461bc611b58c&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">[[inputs.influxdb_listener]]
  service_address = ":8080"

[[outputs.prometheus_client]]
  listen = ":9273"</code></pre></div><p>And in Prometheus:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;yaml&quot;,&quot;nodeId&quot;:&quot;98f628d4-e0ac-4050-91db-8121d1d890fd&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-yaml">- job_name: 'aix-njmon'
    scrape_interval: 60s
    static_configs:
      - targets: ['telegraf-host.example.com:9273']</code></pre></div><p>A note on topology: you only need <strong>one</strong> Telegraf instance, not one per AIX host. All your <code>nimon</code> clients push to the same <code>telegraf</code> listener, and Prometheus scrapes that one endpoint. Put it on the same Linux on Power LPAR as Prometheus and you're done. If you'd rather run it on AIX itself &#8212; say, to keep the whole stack inside AIX &#8212; the AIX BFF is here: <a href="https://dl.power-devops.com/powerdevops.telegraf.1.29.4.1.bff.gz">https://dl.power-devops.com/powerdevops.telegraf.1.29.4.1.bff.gz</a>.</p><p>A note on scrape timing: <code>njmon</code> is pushing every 30 seconds; Prometheus should scrape Telegraf at 1.5&#8211;2&#215; that interval (so 60s is fine) to avoid catching half-written batches.</p><h2>Route B: njmon_exporter (the direct path)</h2><p>There's also <a href="https://github.com/crooks/njmon_exporter">njmon_exporter</a> &#8212; a Go exporter purpose-built for this. It listens on port 8086 for <code>njmon</code> JSON pushes and re-exposes them on 9772 for Prometheus. No Telegraf in the middle.</p><p>Worth knowing before you reach for it: the README still says <em>WIP &#8212; currently in development</em>, and the repo has 5 stars. It works, and it's a smaller moving-parts count than the Telegraf approach, but it has fewer eyes on it. If your shop already runs Telegraf for other reasons, Route A is the boring choice. If you want one less daemon and you don't mind reading Go when something breaks, Route B is right there.</p><p>Either way, the AIX side stays the same &#8212; <code>njmon -k -s 60 -i &lt;collector&gt; -p &lt;port&gt;</code> from <code>inittab</code> or cron &#8212; and you end up with the full ~1500-metric firehose available in the same Prometheus, queryable next to your <code>node_exporter</code> data.</p><h2>Common Europe Congress 2026 is there!</h2><p><em>The <a href="https://commoneuropecongress2026.sched.com/">agenda</a> is published! Do you want to know where AIX is going to? It means you MUST visit the Common Europe Congress in Lyon, France. There will be sessions about new AIX features and open source community development. We will talk about AIX and IBM Power automation and Zero Downtime for AIX. Join me in Lyon!</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://comeur.org/common-europe-congress-2026/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BDCb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 424w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 848w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1272w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BDCb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png" width="697" height="293" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:293,&quot;width&quot;:697,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:345706,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://comeur.org/common-europe-congress-2026/&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.power-devops.com/i/194437442?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!BDCb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 424w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 848w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1272w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Step Back And Look At It</h2><p>If you've followed along over the last few weeks:</p><ul><li><p>A Prometheus server, somewhere it can reach your Power LPARs.</p></li><li><p><code>node_exporter</code> on every AIX and Linux on Power host, scraped on :9100.</p></li><li><p>(Optional but recommended) <code>njmon</code> data flowing into the same Prometheus via Telegraf or <code>njmon_exporter</code>, giving you the deep AIX-internal metrics that <code>node_exporter</code> doesn't expose.</p></li><li><p>One Grafana, one PromQL, one alerting setup, one place to look.</p></li></ul><p>Point a Grafana at this Prometheus and pick from the existing <code>node_exporter</code> dashboards. They mostly work as-is &#8212; the metric names are the same on AIX as everywhere else, which was the entire point of using <code>node_exporter</code> in the first place. The <code>njmon</code> metrics will be named differently (whatever <code>njmon</code>/Telegraf chose for them), so you'll either build dashboards for those or import community ones.</p><p>That's the stack. It's the same Prometheus everyone else runs. It just happens to be looking at IBM Power. No leftover screws.</p><p>If you build this and it works, tell me. If you build this and something breaks in a way I didn't warn you about, tell me &#8212; that's how the next newsletter writes itself.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/p/some-assembly-required-a-prometheus?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.power-devops.com/p/some-assembly-required-a-prometheus?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>Have fun monitoring IBM Power with Prometheus!</p><p>Andrey</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wz8R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wz8R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 424w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 848w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png" width="500" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:235684,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Wz8R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 424w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 848w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Hi, I am Andrey Klyachkin, IBM Champion and IBM AIX Community Advocate. This means I don&#8217;t work for IBM. Over the last twenty years, I have worked with many different IBM Power customers all over the world, both on-premise and in the cloud. I specialize in automating IBM Power infrastructures, making them even more robust and agile. I co-authored several IBM Redbooks and IBM Power certifications. I am an active Red Hat Certified Engineer and Instructor.</p><p>Follow me on <a href="https://www.linkedin.com/in/aklyachkin/">LinkedIn</a>, <a href="https://x.com/PowerDevops">Twitter</a> and <a href="https://www.youtube.com/@powerdevops">YouTube</a>.</p><p>You can meet me at events like <a href="https://www.ibm.com/community/ibm-techxchange-conference/">IBM TechXchange</a>, the <a href="https://comeur.org/">Common Europe Congress</a>, and <a href="https://www.gse.org/german-workinggroups/spsrd-power-systems/">GSE Germany&#8217;s IBM Power Working</a> Group sessions.</p><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Prometheus Didn't Want to Come to AIX]]></title><description><![CDATA[I Brought It Anyway]]></description><link>https://blog.power-devops.com/p/prometheus-didnt-want-to-come-to</link><guid isPermaLink="false">https://blog.power-devops.com/p/prometheus-didnt-want-to-come-to</guid><pubDate>Fri, 24 Apr 2026 11:03:03 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last week, I wrote about the official <code>node_exporter</code> for AIX &#8212; the little agent that sits on your server and tells Prometheus what's going on. Reasonable question that followed: <em>Okay, but where do I run the Prometheus part?</em></p><p>Not on AIX, apparently. Not officially, anyway.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467780,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Power DevOps Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p><p>So this week I ported it.</p><h2>The JavaScript Ecosystem, On a Dare</h2><p>I expected the Go side to be the tricky bit. AIX ppc64 is big-endian, unusual for Linux developers, and the kind of platform where <code>syscall</code> packages are held together by build tags and prayer. Instead, the fight started in the web UI.</p><p>Prometheus 3.x ships a modern React UI built with Vite, which uses Rollup, which &#8212; as of version 4 &#8212; rewrote its parser in Rust and distributes it as native binaries per platform. Their supported list includes Linux on ppc64le. It does not include AIX on ppc64. These are the same CPUs. Different operating system, and suddenly we're off the map.</p><p>The official workaround is a WebAssembly build of the parser. I tried it. The WASM parser encodes AST node types as little-endian integers in a shared buffer, and on a big-endian system, those get byte-swapped on read. The first error said <code>Unknown node type: 1207959552</code>. That's <code>0x48000000</code>, which is 72 with three zero bytes padded on the wrong side. 72 is a perfectly reasonable node type if you read the bytes the other way around. I tried an older version of Rollup. It threw a different endianness bug &#8212; memory access out of bounds &#8212; but the root cause was the same.</p><p>This is where I accepted that modern JavaScript was not going to be built on AIX this week.</p><h2>The Actual Plan</h2><p>The thing is, Prometheus's UI is a build-time artifact. The runtime never touches Node. The JavaScript toolchain only exists long enough to produce a folder full of HTML, CSS, and JS, which the Go compiler then embeds into the binary.</p><p>So I built the UI on my Mac. Shipped the folder to AIX. Compiled the Go binary there with the assets already baked in. The binary is self-contained &#8212; no Node, no Rollup, no WASM, nothing from that world is on the production machine.</p><p>This is also, it turns out, what Prometheus's own <code>PREBUILT_ASSETS_STATIC_DIR</code> mechanism exists for. It's in their scripts. It's not in their documentation. You find it by reading <code>compress_assets.sh</code> at 10pm and muttering.</p><h2>The Go Side, Which Was Also Fun</h2><p>With the UI sorted, <code>go build</code> got further and then fell over in new and interesting ways:</p><ul><li><p><strong>File locking</strong> needs platform-specific implementations. AIX wasn't in the list. I had a <code>flock_aix.go</code> from a previous porting adventure, so that one was quick.</p></li><li><p><code>github.com/edsrzf/mmap-go</code> &#8212; the memory-mapping library Prometheus uses to read compacted data blocks &#8212; supports Linux, Darwin, Windows, Plan 9, wasm, and Solaris. No AIX. Wrote a <code>mmap_aix.go</code>. Patched it into the module cache, then discovered Go's package metadata cache had decided <code>mmap-go</code> didn't have an AIX file and wouldn't reconsider. <code>go clean -cache</code> and onwards.</p></li><li><p><strong>Directory fsync.</strong> On Linux, calling <code>fsync()</code> on a directory flushes directory metadata to disk. On AIX, it returns <code>EINVAL</code>. AIX's JFS2 doesn't expose the operation through that syscall &#8212; the journaling filesystem handles metadata durability its own way. Prometheus's TSDB code calls directory fsync in five places. Each one needed guarding with <code>runtime.GOOS != "aix"</code>.</p></li></ul><p>I argued with the Prometheus team about that last one years ago. Didn't go anywhere. But the patches are mine now.</p><h2>It works</h2><p>After all that, the binary builds, starts, scrapes itself, serves the UI, writes data to disk, persists through restarts, compacts blocks, memory-maps them back in on query, handles snapshots, and generally behaves like Prometheus does everywhere else. I ran <code>promtool tsdb analyze</code> against a populated data directory &#8212; the heaviest exercise of the mmap path you can inflict on it short of production traffic &#8212; and it finished clean.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!nFlp!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11ea9cb-73ab-47d9-8c7d-8e3df3ab362a_946x309.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!nFlp!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11ea9cb-73ab-47d9-8c7d-8e3df3ab362a_946x309.png 424w, https://substackcdn.com/image/fetch/$s_!nFlp!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11ea9cb-73ab-47d9-8c7d-8e3df3ab362a_946x309.png 848w, https://substackcdn.com/image/fetch/$s_!nFlp!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11ea9cb-73ab-47d9-8c7d-8e3df3ab362a_946x309.png 1272w, https://substackcdn.com/image/fetch/$s_!nFlp!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11ea9cb-73ab-47d9-8c7d-8e3df3ab362a_946x309.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!nFlp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11ea9cb-73ab-47d9-8c7d-8e3df3ab362a_946x309.png" width="946" height="309" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c11ea9cb-73ab-47d9-8c7d-8e3df3ab362a_946x309.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:309,&quot;width&quot;:946,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:50236,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.power-devops.com/i/195278725?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11ea9cb-73ab-47d9-8c7d-8e3df3ab362a_946x309.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!nFlp!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11ea9cb-73ab-47d9-8c7d-8e3df3ab362a_946x309.png 424w, https://substackcdn.com/image/fetch/$s_!nFlp!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11ea9cb-73ab-47d9-8c7d-8e3df3ab362a_946x309.png 848w, https://substackcdn.com/image/fetch/$s_!nFlp!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11ea9cb-73ab-47d9-8c7d-8e3df3ab362a_946x309.png 1272w, https://substackcdn.com/image/fetch/$s_!nFlp!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc11ea9cb-73ab-47d9-8c7d-8e3df3ab362a_946x309.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Why You Might Care</h2><p>If you run AIX, you probably already have some combination of nmon, Tivoli, enterprise monitoring shit, and a pile of scripts doing monitoring. They work. They've worked for decades. Why add Prometheus?</p><p>A few reasons that might actually apply to you:</p><p><strong>It's the same tooling as the Linux half of your environment.</strong> If your shop has AIX LPARs next to Linux VMs next to whatever-else, Prometheus is probably already monitoring the Linux side. Bringing AIX into the same dashboard, the same alert rules, the same query language &#8212; that's worth something. One Grafana, not two monitoring philosophies.</p><p><strong>The query language is genuinely good.</strong> PromQL lets you ask questions like "show me the 95th percentile CPU usage across all my LPARs in the last week, aggregated by workload group" as a single line. </p><p><strong>Everything speaks Prometheus.</strong> If you want to alert on AIX metrics into PagerDuty, Slack, Teams, ServiceNow, or a pigeon &#8212; Alertmanager already has an integration, or someone's written a webhook for it. That ecosystem didn't grow around AIX, but it works for AIX once you're emitting Prometheus metrics.</p><p><strong>node_exporter on AIX already exists.</strong> See my last week's newsletter. Pair it with Prometheus-on-AIX, and you have a self-contained monitoring loop that doesn't require a Linux jump box to collect metrics from.</p><h2>Common Europe Congress 2026 is there!</h2><p><em>The <a href="https://commoneuropecongress2026.sched.com/">agenda</a> is published! Do you want to know where AIX is going to? It means you MUST visit the Common Europe Congress in Lyon, France. There will be sessions about new AIX features and open source community development. We will talk about AIX and IBM Power automation and Zero Downtime for AIX. Join me in Lyon!</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://comeur.org/common-europe-congress-2026/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BDCb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 424w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 848w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1272w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BDCb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png" width="697" height="293" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:293,&quot;width&quot;:697,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:345706,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://comeur.org/common-europe-congress-2026/&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.power-devops.com/i/194437442?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!BDCb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 424w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 848w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1272w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Your turn</h2><p>The binary is here: <strong><a href="https://dl.power-devops.com/prometheus/prometheus-3.11.2.aix-ppc64.tar.gz">https://dl.power-devops.com/prometheus/prometheus-3.11.2.aix-ppc64.tar.gz</a></strong></p><p>Unofficial. Not blessed by the Prometheus project. Built from upstream 3.11.2 with the AIX patches described above. If it eats your data, I'll be sympathetic but not liable.</p><p>Minimum-viable deployment:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;yaml&quot;,&quot;nodeId&quot;:&quot;7649251d-998b-4766-8b76-d7a82e120c08&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-yaml">mkdir -p /data
cd /opt
gzip -dc /tmp/prometheus-3.11.2.aix-ppc64.tar.gz | tar xf -
cd prometheus-3.11.2.aix-ppc64

cat &gt; prometheus.yml &lt;&lt;'EOF'
global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

  - job_name: 'node'
    static_configs:
      - targets: ['your-aix-host:9100']
EOF

./prometheus --config.file=prometheus.yml --storage.tsdb.path=/data/prometheus</code></pre></div><p>Browse to http://your-prometheus-server:9090/, type <code>up</code> in the query box, and hit Execute. If you see <code>1</code>, Prometheus is scraping itself, and you're in business.</p><p>To run it properly in the background, wire it into <code>/etc/inittab</code>. In the same way as I did it last week with <code>node_exporter</code>. </p><p>If you try the build, tell me how it breaks. It built and ran on my machine, which is not quite the same as saying it'll run on yours, and the only way this port becomes actually reliable is if enough people poke at it to shake out the weird cases.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/p/prometheus-didnt-want-to-come-to?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.power-devops.com/p/prometheus-didnt-want-to-come-to?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>Have fun with Prometheus on AIX!</p><p>Andrey</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wz8R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wz8R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 424w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 848w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png" width="500" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:235684,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Wz8R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 424w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 848w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Hi, I am Andrey Klyachkin, IBM Champion and IBM AIX Community Advocate. This means I don&#8217;t work for IBM. Over the last twenty years, I have worked with many different IBM Power customers all over the world, both on-premise and in the cloud. I specialize in automating IBM Power infrastructures, making them even more robust and agile. I co-authored several IBM Redbooks and IBM Power certifications. I am an active Red Hat Certified Engineer and Instructor.</p><p>Follow me on <a href="https://www.linkedin.com/in/aklyachkin/">LinkedIn</a>, <a href="https://x.com/PowerDevops">Twitter</a> and <a href="https://www.youtube.com/@powerdevops">YouTube</a>.</p><p>You can meet me at events like <a href="https://www.ibm.com/community/ibm-techxchange-conference/">IBM TechXchange</a>, the <a href="https://comeur.org/">Common Europe Congress</a>, and <a href="https://www.gse.org/german-workinggroups/spsrd-power-systems/">GSE Germany&#8217;s IBM Power Working</a> Group sessions.</p><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Modern monitoring for AIX and VIOS?]]></title><description><![CDATA[Yes, it is possible!]]></description><link>https://blog.power-devops.com/p/modern-monitoring-for-aix-and-vios</link><guid isPermaLink="false">https://blog.power-devops.com/p/modern-monitoring-for-aix-and-vios</guid><pubDate>Fri, 17 Apr 2026 11:03:33 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last week I was celebrating my birthday and finishing the ski season with the Frankfurt Ski Club in Zermatt, Switzerland. Of course, I&#8217;ve got some nice gifts. But do you know which message I got exactly on my birthday?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467780,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Power DevOps Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div class="callout-block" data-callout="true"><p>Hey Andrey, greetings from the Prometheus Team - we've just released a node_exporter AIX build (see github repo).</p></div><p>What could I answer? Yup, thanks for your birthday wishes! ;-)</p><h2>Prometheus</h2><p>No, it was not about the titan from Greek mythology, who helped people to steal fire from the gods.</p><p>It is about Prometheus monitoring software, which was started many years ago by SoundCloud, and is now a part of the Cloud Native Computing Foundation (CNCF). Prometheus is very popular in different clouds. It is easy to deploy, and paired with Grafana, it makes monitoring very visual and democratic.</p><p>No, Prometheus does not run on AIX.</p><p>If you wish to try an older version of Prometheus on AIX, you can do it. Several years ago, I ported some Prometheus versions to AIX, which you could find on my power-devops.com site. But the site doesn&#8217;t work right now.</p><p>The patches to the Prometheus code were not accepted because AIX is missing some functions available on Linux, and without these functions, Prometheus can&#8217;t guarantee that the data was written to the disk.</p><p>But Prometheus was available for Linux on IBM Power (ppc64le) for years.</p><h2>Node Exporter</h2><p>Prometheus works with so-called exporters that are installed on target servers. </p><p>The exporters are small HTTP (or HTTPS) servers that provide metrics - data about the target server.</p><p>Prometheus collects information from those exporters - or scrapes them.</p><p>There are exporters for specific services, and there are exporters for the operating system - node exporters.</p><p>Of course, it was not a big problem to compile the standard node exporter for AIX. I did it almost the same time, I ported Prometheus to AIX. But the node exporter didn&#8217;t collect any useful information about AIX.</p><p>This was the reason to start developing Google Go interface to AIX libperfstat. It is available freely on Github - https://github.com/power-devops/perfstat/.</p><p>I also tried to develop my own AIX node exporter, but never published it.</p><p>But now there is an official AIX node exporter from the Prometheus Team!</p><h2>How to get the AIX node exporter</h2><p>It is very easy!</p><ul><li><p>Open the <a href="https://github.com/prometheus/node_exporter">node exporter Github repo</a></p></li><li><p>On the right side, find &#8220;Releases&#8221; and click the latest release</p></li><li><p>Now you should see the latest release and assets for it</p></li><li><p>Click <a href="https://github.com/prometheus/node_exporter/releases/download/v1.11.1/node_exporter-1.11.1.aix-ppc64.tar.gz">node_exporter-1.11.1.aix-ppc64.tar.gz</a> (or what is the latest release when you read it) and download the file.</p></li></ul><p>The archive contains only three files:</p><ul><li><p>LICENSE</p></li><li><p>NOTICE</p></li><li><p>node_exporter</p></li></ul><p>What you need is the last file. You can copy it to the target system and run it there. There are no dependencies and no installation.</p><h2>How to run the AIX node exporter</h2><p>The easiest way to run it is simply to start it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!hjhW!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11a6617-c66d-43e8-9471-36d6971db0c3_3266x1300.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!hjhW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11a6617-c66d-43e8-9471-36d6971db0c3_3266x1300.png 424w, https://substackcdn.com/image/fetch/$s_!hjhW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11a6617-c66d-43e8-9471-36d6971db0c3_3266x1300.png 848w, https://substackcdn.com/image/fetch/$s_!hjhW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11a6617-c66d-43e8-9471-36d6971db0c3_3266x1300.png 1272w, https://substackcdn.com/image/fetch/$s_!hjhW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11a6617-c66d-43e8-9471-36d6971db0c3_3266x1300.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!hjhW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11a6617-c66d-43e8-9471-36d6971db0c3_3266x1300.png" width="1456" height="580" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a11a6617-c66d-43e8-9471-36d6971db0c3_3266x1300.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:580,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:417092,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.power-devops.com/i/194437442?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11a6617-c66d-43e8-9471-36d6971db0c3_3266x1300.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!hjhW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11a6617-c66d-43e8-9471-36d6971db0c3_3266x1300.png 424w, https://substackcdn.com/image/fetch/$s_!hjhW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11a6617-c66d-43e8-9471-36d6971db0c3_3266x1300.png 848w, https://substackcdn.com/image/fetch/$s_!hjhW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11a6617-c66d-43e8-9471-36d6971db0c3_3266x1300.png 1272w, https://substackcdn.com/image/fetch/$s_!hjhW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa11a6617-c66d-43e8-9471-36d6971db0c3_3266x1300.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>After you started it, it listens on port 9100, and you can check if  it is working by using curl:</p><pre><code>curl http://localhost:9100/metrics</code></pre><p>You will get a long list with different metrics. </p><p>You don&#8217;t need any special knowledge to get through the list and check which metrics are delivered by the node exporter.</p><p>Of course, you don&#8217;t want to start the node exporter every time manually. You can simply add it to /etc/inittab like:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;06c32f0f-6997-48e8-8620-44116b780725&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">mkitab 'node_exporter:23456789:once:/usr/bin/node_exporter &gt;/dev/console 2&gt;&amp;1</code></pre></div><p>Now it starts every time with the system.</p><h2>Common Europe Congress 2026 is there!</h2><p><em>The <a href="https://commoneuropecongress2026.sched.com/">agenda</a> is published! Do you want to know where AIX is going to? It means you MUST visit the Common Europe Congress in Lyon, France. There will be sessions about new AIX features and open source community development. We will talk about AIX and IBM Power automation and Zero Downtime for AIX. Join me in Lyon!</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://comeur.org/common-europe-congress-2026/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!BDCb!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 424w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 848w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1272w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!BDCb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png" width="697" height="293" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:293,&quot;width&quot;:697,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:345706,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://comeur.org/common-europe-congress-2026/&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.power-devops.com/i/194437442?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!BDCb!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 424w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 848w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1272w, https://substackcdn.com/image/fetch/$s_!BDCb!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F254b8dac-d384-4eb0-bde3-2d7f53519de1_697x293.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Do you have any ideas how to make it better?</h2><p>I didn&#8217;t do any thorough tests of the new node exporter. I only started it on AIX 7.3 TL3 and checked if it works.</p><p>It will definitely not work on POWER7. Because it is compiled with Google Go, and the Google Go compiler supports only POWER8 or newer CPUs.</p><p>It will probably not work on AIX 7.1, 6.1, or 5.3. I don&#8217;t have any AIX 5.3 to test, but if I have time, I will test it with AIX 6.1 or 7.1.</p><p>It probably doesn&#8217;t have all the metrics you need. It definitely has fewer metrics if you compare it to njmon.</p><p>If you have any ideas on what can be done better or any suggestions for metrics, let me know! Simply answer to the newsletter, if you&#8217;ve got it by email, or write a comment down. I will check and make a patch to enable the metric you need.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/p/modern-monitoring-for-aix-and-vios?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.power-devops.com/p/modern-monitoring-for-aix-and-vios?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>Have fun with the AIX node exporter!</p><p>Andrey</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wz8R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wz8R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 424w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 848w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png" width="500" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:235684,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Wz8R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 424w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 848w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Hi, I am Andrey Klyachkin, IBM Champion and IBM AIX Community Advocate. This means I don&#8217;t work for IBM. Over the last twenty years, I have worked with many different IBM Power customers all over the world, both on-premise and in the cloud. I specialize in automating IBM Power infrastructures, making them even more robust and agile. I co-authored several IBM Redbooks and IBM Power certifications. I am an active Red Hat Certified Engineer and Instructor.</p><p>Follow me on <a href="https://www.linkedin.com/in/aklyachkin/">LinkedIn</a>, <a href="https://x.com/PowerDevops">Twitter</a> and <a href="https://www.youtube.com/@powerdevops">YouTube</a>.</p><p>You can meet me at events like <a href="https://www.ibm.com/community/ibm-techxchange-conference/">IBM TechXchange</a>, the <a href="https://comeur.org/">Common Europe Congress</a>, and <a href="https://www.gse.org/german-workinggroups/spsrd-power-systems/">GSE Germany&#8217;s IBM Power Working</a> Group sessions.</p><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[It was silent here last month.]]></title><description><![CDATA[Here is why.]]></description><link>https://blog.power-devops.com/p/it-was-silent-here-last-month</link><guid isPermaLink="false">https://blog.power-devops.com/p/it-was-silent-here-last-month</guid><pubDate>Fri, 27 Mar 2026 12:04:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Yes, I wrote a newsletter every Friday for the last two years. Or almost every Friday. I tried to send them even when I was on vacation. Every week during the last two years, I started with the thoughts of what I will write on Friday. I still do it.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467780,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Power DevOps Substack is a reader-supported publication. To receive new posts and support my work, conside&#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>
      <p>
          <a href="https://blog.power-devops.com/p/it-was-silent-here-last-month">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Only Ansible? This is boring!]]></title><description><![CDATA[I want to use Terraform to deploy my LPARs!]]></description><link>https://blog.power-devops.com/p/only-ansible-this-is-boring</link><guid isPermaLink="false">https://blog.power-devops.com/p/only-ansible-this-is-boring</guid><pubDate>Fri, 13 Mar 2026 12:03:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hashicorp is, meanwhile, an IBM company. You can see it on their <a href="https://www.hashicorp.com">site</a>. They develop several interesting products. One of them is <a href="https://developer.hashicorp.com/terraform">Terraform</a>. If you have never heard about it, you were in a stone cave for the last 10 years, probably. I think this is the most popular deployment tool in the modern IT world.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467780,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Power DevOps Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>But there are some problems with Terraform and IBM Power.</p><p>First, it doesn&#8217;t run on IBM Power. You can download it for the x86 CPUs for almost every operating system. You can download it for ARM64 CPUs for Linux. You can even download it for Solaris. But you can&#8217;t find it for Linux on IBM Power (ppc64le) or for AIX.</p><p>OK, I ported it several times in the past, and you can find an older version of Terraform on <a href="https://www.power-devops.com">my site</a>.</p><p>But we have the second problem. Terraform works with plugins. Terraform itself is a configuration language plus a runner for the plugins. The plugins do the work.</p><p>No, there are no Terraform plugins to deploy an LPAR on IBM Power.</p><p>Or better to say, there was no Terraform plugin till today.</p><p>I think Friday the 13th is a good date to publish something new.</p><p>Let me introduce&#8230; </p><h2>Terraform provider for IBM Power HMC</h2><p>Here it is. You need Terraform for x86_64 (yes, no Power support right now), an IBM Power HMC, and the plugin. Then you write some code and deploy an LPAR.</p><p>What can it look like?</p><pre><code>terraform {
  required_providers {
    ibmpower = {
      source  = "registry.terraform.io/power-devops/hmc"
      version = "0.0.1"
    }
    dns = {
      source = "hashicorp/dns"
    }
  }
}

variable "hmc_host" {
  description = "HMC hostname or IP address"
  type        = string
}

variable "hmc_username" {
  description = "HMC username"
  type        = string
}

variable "hmc_password" {
  description = "HMC password"
  type        = string
  sensitive   = true
}

variable "system_name" {
  description = "Managed system name where the LPAR will be created"
  type        = string
}

variable "lpar_name" {
  description = "Name of the LPAR to create"
  type        = string
  default     = "test-lpar"
}

provider "ibmpower" {
  host     = var.hmc_host
  username = var.hmc_username
  password = var.hmc_password
  insecure = true
}

data "ibmpower_vios_list" "all" {
  system_name = var.system_name
  sort = true
}

resource "ibmpower_lpar" "example" {
  system_name = var.system_name
  name        = var.lpar_name

  desired_mem = 8192
  desired_procs = 2
  sharing_mode    = "uncap"
  max_virtual_slots = 20
  boot_mode         = "norm"

  virtual_eth_adapters = [
    {
      is_required = true
      port_vlan_id = 1
    }
  ]

  virtual_fc_adapters = [
    {
       remote_lpar_id = data.ibmpower_vios_list.all.vios[0].lpar_id
       remote_slot_number = data.ibmpower_vios_list.all.vios[0].next_virtual_slot
       is_required = true
       physical_fcs = "fcs0"
    },
    {
       remote_lpar_id = data.ibmpower_vios_list.all.vios[1].lpar_id
       remote_slot_number = data.ibmpower_vios_list.all.vios[1].next_virtual_slot
       is_required = true
       physical_fcs = "fcs1"
    }
  ]
}

resource "ibmpower_lpar_action" "example_install" {
  system_name = ibmpower_lpar.example.system_name
  name = ibmpower_lpar.example.name
  action = "netboot"
  wait_for_state = "Running"
  timeout = 900
  netboot_server_ip   = "10.10.2.4"
  netboot_gateway_ip  = "10.10.2.1"
  netboot_client_ip   = "10.10.2.20"
  netboot_subnet_mask = "255.255.255.0"
}

resource "terraform_data" "wait_for_boot" {
  depends_on = [ibmpower_lpar_action.example_install]

  provisioner "local-exec" {
    command = &lt;&lt;-EOT
      for i in $(seq 1 120); do
        ssh -o ConnectTimeout=5 -o StrictHostKeyChecking=no ${var.lpar_name} "echo ready" 2&gt;/dev/null &amp;&amp; exit 0
        echo "Waiting for ${var.lpar_name}... ($i/120)"
        sleep 30
      done
      echo "Timeout waiting for ${var.lpar_name}"
      exit 1
    EOT
  }
}</code></pre><p>What does it all mean?</p><p>If you have never worked with Terraform, you can check <a href="https://developer.hashicorp.com/terraform/tutorials">the Terraform tutorials</a> to learn the basics of Terraform&#8217;s language.</p><p>If you worked with Terraform before and know how to use it, you will find the documentation for the plugin in the plugin&#8217;s package.</p><p>BUT. There is one gotcha with the plugin. It is not published on the official Terraform registry, and no, I don&#8217;t have plans to publish it there.</p><p>If you want to use it, use <a href="https://dl.power-devops.com/terraform-provider-hmc.tar.gz">the link</a> to download it directly.  </p><p>You must create a file called <code>terraformrc</code> for your project with the following contents:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;52ee5230-3941-4db7-a9d2-b3f0e49d6914&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">provider_installation {
  dev_overrides {
    "registry.terraform.io/power-devops/hmc" = "/home/myuser/dir-with-the-plugin"
  }
  direct {}
}
</code></pre></div><p>and export the environment variable:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;2afaf652-8e08-43c2-9917-1a00e95fdd9e&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">export TF_CLI_CONFIG_FILE=/home/myuser/path/to/terraformrc</code></pre></div><p>Then you can start <code>terraform apply</code> and the LPAR will be created.</p><h2>But&#8230; I use NIM, and before I install an LPAR, I must create a NIM definition</h2><p>So what? Let me introduce my second Terraform plugin.</p><h2>Terraform provider for IBM AIX NIM</h2><p>Yes, I use NIM too. I must also create a NIM definition for each AIX LPAR and assign resources to it.</p><p>Even more, I want to configure my NIM server using Terraform.</p><p>Now it is possible!</p><p>The NIM plugin is also available for <a href="https://dl.power-devops.com/terraform-provider-nim.tar.gz">download</a>.</p><p>The same conditions apply. The documentation is in the archive.</p><p>You can add something like this to the previous code:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;738a4fdf-0c24-468f-a120-7075923b35ef&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">terraform {
  required_providers {
    ibmpower = {
      source  = "registry.terraform.io/power-devops/hmc"
      version = "0.0.1"
    }
    nim = {
      source  = "registry.terraform.io/power-devops/nim"
      version = "0.0.1"
    }
    dns = {
      source = "hashicorp/dns"
    }
  }
}

variable "nim_host" {
  description = "NIM hostname or IP address"
  type        = string
}

variable "nim_username" {
  description = "NIM username"
  type        = string
}

variable "nim_pkey_path" {
  description = "Path to the user's private key"
  type        = string
  sensitive   = true
}

provider "nim" {
  host             = var.nim_host
  username         = var.nim_username
  use_agent        = true
}

data "dns_a_record_set" "nim" {
  host = var.nim_host
}

resource "nim_standalone" "example" {
  name = ibmpower_lpar.example.name
  ssl = true
}

resource "nim_bos_inst" "example" {
  standalone = nim_standalone.example.name
  lpp_source = "7300-03-01-2520-lpp_source"
  spot = "7300-03-01-2520-spot"
  resolv_conf = "resolv_conf_default"
  bosinst_data = "bosinst_data_default"
  image_data = "image_data_default"
  fb_script = "fb_rootkeys"
}

resource "ibmpower_lpar_action" "example_install" {
  depends_on = [nim_bos_inst.example]
  system_name = ibmpower_lpar.example.system_name
  name = ibmpower_lpar.example.name
  action = "netboot"
  wait_for_state = "Running"
  timeout = 900
  netboot_server_ip   = "10.10.2.4"
  netboot_gateway_ip  = "10.10.2.1"
  netboot_client_ip   = "10.10.2.20"
  netboot_subnet_mask = "255.255.255.0"
}</code></pre></div><p>Or if you wish to configure a new NIM server:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;ae7e36ad-c8f1-46fa-b922-b4b3246dbfc4&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">resource "nim_bosinst_data" "bos" {
  name = "bosinst_data_default"
  content = file("${path.module}/files/bosinst_data_default")
  destination = "/nim/rsrc/bosinst_data_default"
}

resource "nim_image_data" "img" {
  name = "image_data_default"
  content = file("${path.module}/files/image_data_default")
  destination = "/nim/rsrc/image_data_default"
}

resource "nim_resolv_conf" "resolv_conf_default" {
  name = "resolv_conf_default"
  content = file("${path.module}/files/resolv_conf_default")
  destination = "/nim/rsrc/resolv_conf_default"
}

resource "nim_script" "nim_pwreset" {
  name = "pwreset"
  content = file("${path.module}/files/pwreset.sh")
  destination = "/nim/scripts/pwreset"
}

resource "nim_script" "nim_authkeys" {
  name = "authkeys"
  content = file("${path.module}/files/authkeys.sh")
  destination = "/nim/scripts/authkeys"
}

resource "nim_fb_script" "nim_fbscript" {
  name = "fb_rootkeys"
  content = file("${path.module}/files/fb_rootkeys.sh")
  destination = "/nim/scripts/fb_rootkeys"
}

resource "nim_lpp_source" "_7300-03-01-2520-lpp_source" {
  name = "7300-03-01-2520-lpp_source"
  location = "/nim/lpp/7300-03-01-2520-lpp_source"
  source = "/nim/dist/AIX_v7.3_Install_7300-03-01-2520_flash_122025_LCD8265308.iso"
  iso_fs_type = "udfs"
}

resource "nim_spot" "_7300-03-01-2520-spot" {
  name = "7300-03-01-2520-spot"
  location = "/nim/spot"
  source = nim_lpp_source._7300-03-01-2520-lpp_source.name
}
</code></pre></div><h2>Support the Power DevOps Newsletter!</h2><p><em>If you like reading technical articles about IBM Power, AIX, and Linux on IBM Power, consider upgrading to the paid tier to show your support. As a paid subscriber, you not only get regular posts, but you will get additional posts with the full code and further explanations, access to the whole archive of the blog, and take part in our monthly calls where you can ask your questions and propose topics for future newsletters. Be an active member of our community!</em></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://powerdevops.substack.com/subscribe" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!xdUk!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff0ae4-b04b-4d19-937c-0487f84b120c_1456x510.png 424w, https://substackcdn.com/image/fetch/$s_!xdUk!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff0ae4-b04b-4d19-937c-0487f84b120c_1456x510.png 848w, https://substackcdn.com/image/fetch/$s_!xdUk!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff0ae4-b04b-4d19-937c-0487f84b120c_1456x510.png 1272w, https://substackcdn.com/image/fetch/$s_!xdUk!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff0ae4-b04b-4d19-937c-0487f84b120c_1456x510.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!xdUk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff0ae4-b04b-4d19-937c-0487f84b120c_1456x510.png" width="1456" height="510" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5eff0ae4-b04b-4d19-937c-0487f84b120c_1456x510.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:510,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:139150,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://powerdevops.substack.com/subscribe&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!xdUk!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff0ae4-b04b-4d19-937c-0487f84b120c_1456x510.png 424w, https://substackcdn.com/image/fetch/$s_!xdUk!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff0ae4-b04b-4d19-937c-0487f84b120c_1456x510.png 848w, https://substackcdn.com/image/fetch/$s_!xdUk!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff0ae4-b04b-4d19-937c-0487f84b120c_1456x510.png 1272w, https://substackcdn.com/image/fetch/$s_!xdUk!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eff0ae4-b04b-4d19-937c-0487f84b120c_1456x510.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Some final words</h2><p>These are beta version software. You can use it for free, but there is no guarantee that it works in your environment. And of course, no liability. The providers provided &#8220;AS IS&#8221;. </p><p>The providers work with both Terraform and OpenTofu, the free implementation of Terraform.</p><p>If you have any problems using them, feel free to drop an email to me. Simply answer the newsletter, and the email should come to me. I will check if I can help you and answer as soon as I can do it.</p><p>If you need official support, do the same. Write an email to me, and we will discuss what I can do for you.</p><p>Because this is beta software and I am actively developing it, the archives can be updated without any notice. The version can be the same, but the providers will be different ;-) </p><p>No, I don&#8217;t plan to make the source code available.</p><p>No, I don&#8217;t know if the providers will always be freely available.</p><p>It always depends on how many customers I have and how many of them are interested in these plugins.</p><p>Anyway, you can download the plugins right now and use them! If you have downloaded them, nobody can take them away from your computer.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/p/only-ansible-this-is-boring?utm_source=substack&utm_medium=email&utm_content=share&action=share&quot;,&quot;text&quot;:&quot;Share&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="https://blog.power-devops.com/p/only-ansible-this-is-boring?utm_source=substack&utm_medium=email&utm_content=share&action=share"><span>Share</span></a></p><p>Have fun deploying LPARs with Terraform!</p><p>Andrey</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Wz8R!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Wz8R!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 424w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 848w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png" width="500" height="500" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:500,&quot;width&quot;:500,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:235684,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Wz8R!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 424w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 848w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1272w, https://substackcdn.com/image/fetch/$s_!Wz8R!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc6dceff-f948-4bf0-832e-a1b074d279aa_500x500.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Hi, I am Andrey Klyachkin, IBM Champion and IBM AIX Community Advocate. This means I don&#8217;t work for IBM. Over the last twenty years, I have worked with many different IBM Power customers all over the world, both on-premise and in the cloud. I specialize in automating IBM Power infrastructures, making them even more robust and agile. I co-authored several IBM Redbooks and IBM Power certifications. I am an active Red Hat Certified Engineer and Instructor.</p><p>Follow me on <a href="https://www.linkedin.com/in/aklyachkin/">LinkedIn</a>, <a href="https://x.com/PowerDevops">Twitter</a> and <a href="https://www.youtube.com/@powerdevops">YouTube</a>.</p><p>You can meet me at events like <a href="https://www.ibm.com/community/ibm-techxchange-conference/">IBM TechXchange</a>, the <a href="https://comeur.org/">Common Europe Congress</a>, and <a href="https://www.gse.org/german-workinggroups/spsrd-power-systems/">GSE Germany&#8217;s IBM Power Working</a> Group sessions.</p><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[What should I do with my mksysb if I have no NIM?]]></title><description><![CDATA[I have a small environment and no NIM server!]]></description><link>https://blog.power-devops.com/p/what-should-i-do-with-my-mksysb-if</link><guid isPermaLink="false">https://blog.power-devops.com/p/what-should-i-do-with-my-mksysb-if</guid><pubDate>Fri, 27 Feb 2026 12:02:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Yes, it happens. Not everyone has a NIM server in their environment. Maybe they have just a few AIX servers that were installed two zillion years ago manually, and nobody thought about the NIM server at that time. Or they may have no AIX servers at all - only VIOSes that serve Linux or IBM i LPARs. Why should someone wish to buy an additional AIX licens&#8230;</p>
      <p>
          <a href="https://blog.power-devops.com/p/what-should-i-do-with-my-mksysb-if">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Make System Backup!]]></title><description><![CDATA[The best feature, that AIX has and Linux is missing]]></description><link>https://blog.power-devops.com/p/make-system-backup</link><guid isPermaLink="false">https://blog.power-devops.com/p/make-system-backup</guid><pubDate>Fri, 20 Feb 2026 12:03:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Of course, there are many possibilities to make a system backup in Linux. And let&#8217;s be honest, mksysb is not state-of-the-art software. It is just like any UNIX tool. It makes one thing, and it makes it good. I think my favorite outcome of mksysb is the ease to create system clones.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467780,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Power DevOps Substack is a reader-supported publication. To receive new &#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>
      <p>
          <a href="https://blog.power-devops.com/p/make-system-backup">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[So many NIM resources!]]></title><description><![CDATA[Why don't use mksysb?]]></description><link>https://blog.power-devops.com/p/so-many-nim-resources</link><guid isPermaLink="false">https://blog.power-devops.com/p/so-many-nim-resources</guid><pubDate>Fri, 13 Feb 2026 12:02:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Like many other AIX administrators in the world, I use mksysb to deploy AIX. It is easy, fast, and reliable. You must know only one command to capture it. It saves the entire rootvg with all your data. It creates an exact replica of what you captured on a new system. What&#8217;s the hell wrong with it, and whydo  you write about all these resources, Andrey?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467780,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">P&#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>
      <p>
          <a href="https://blog.power-devops.com/p/so-many-nim-resources">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Playbooks to create NIM resources on IBM AIX]]></title><description><![CDATA[Last Friday I wrote about NIM clients, lpp_sources, SPOTs, and many other resources]]></description><link>https://blog.power-devops.com/p/playbooks-to-create-nim-resources</link><guid isPermaLink="false">https://blog.power-devops.com/p/playbooks-to-create-nim-resources</guid><pubDate>Wed, 11 Feb 2026 12:03:14 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It is time to summarize! As usual on Wednesday, if there is something to publish, I publish full playbooks. They are the same as what was published last Friday. The only difference - you can simply copy them and paste into your environment without reading my explanations ;-) </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467780,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Power DevOps Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>Registration of NIM clients</h2>
      <p>
          <a href="https://blog.power-devops.com/p/playbooks-to-create-nim-resources">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[2 playbooks to automate usual AIX NIM tasks]]></title><description><![CDATA[But not every task!]]></description><link>https://blog.power-devops.com/p/2-playbooks-to-automate-usual-aix</link><guid isPermaLink="false">https://blog.power-devops.com/p/2-playbooks-to-automate-usual-aix</guid><pubDate>Fri, 06 Feb 2026 12:00:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>NIM is there! Last Friday, I published an article with Ansible code on how to configure a NIM server. You run it, and you get your NIM server. But the server is empty - there are no resources and no clients on it. We must do both - register our AIX clients and create resources that they can use.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467780,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Power DevOps Substack is a reader-supported publication. To&#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>
      <p>
          <a href="https://blog.power-devops.com/p/2-playbooks-to-automate-usual-aix">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Playbook to setup AIX NIM server]]></title><description><![CDATA[What did I write about last Friday? Ah, yes, about NIM configuration!]]></description><link>https://blog.power-devops.com/p/wednesday-post-with-the-full-playbook</link><guid isPermaLink="false">https://blog.power-devops.com/p/wednesday-post-with-the-full-playbook</guid><pubDate>Wed, 04 Feb 2026 12:03:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Yes, everything was there on Friday. Simply combine all tasks into a playbook, and you've got it! Or support me. Why? Because it shows me that the information I create is important to you. I am at <a href="https://cfgmgmtcamp.org/ghent2026/">cfgmgmtcamp</a> in Gent right now. It is a very good conference. But do you know what people say about IBM? </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467780,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Power DevOps Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>Yes, nothing.</p><p>This is exactly my point. We are too few. I must know that you need what I write.</p><h2>The playbook</h2>
      <p>
          <a href="https://blog.power-devops.com/p/wednesday-post-with-the-full-playbook">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[17 Ansible tasks to create an AIX NIM server ]]></title><description><![CDATA[Or more. Or less. It depends how you count them.]]></description><link>https://blog.power-devops.com/p/17-ansible-tasks-to-create-an-aix</link><guid isPermaLink="false">https://blog.power-devops.com/p/17-ansible-tasks-to-create-an-aix</guid><pubDate>Fri, 30 Jan 2026 12:03:13 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last weeks I wrote about configuring an AIX NIM server. Of course, because I need one. Of course, because I want to install a new NIM server using Ansible. Of course, because you must understand the process before automating it. Now, it is time to start automating.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467780,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Power DevOps Substack is a reader-supported publication. To receive new posts and support &#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>
      <p>
          <a href="https://blog.power-devops.com/p/17-ansible-tasks-to-create-an-aix">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Do we need anything more for NIM automated installations?]]></title><description><![CDATA[YES! We need more resources!]]></description><link>https://blog.power-devops.com/p/do-we-need-anything-more-for-nim</link><guid isPermaLink="false">https://blog.power-devops.com/p/do-we-need-anything-more-for-nim</guid><pubDate>Fri, 23 Jan 2026 12:03:16 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I love Italian wines. It is so nice to make something beautiful in the evening with a glass of good Italian wine. Today I was fighting with Icinga. You know, this Nagios-based monitoring system. I hope, when I am in Lyon in June at the Common Europe Congress, my friend Toshaan will learn me how to use Icinga correctly, and my French friends will explain&#8230;</p>
      <p>
          <a href="https://blog.power-devops.com/p/do-we-need-anything-more-for-nim">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[NIM image.data resource]]></title><description><![CDATA[The full file from the last newsletter]]></description><link>https://blog.power-devops.com/p/nim-imagedata-resource</link><guid isPermaLink="false">https://blog.power-devops.com/p/nim-imagedata-resource</guid><pubDate>Wed, 21 Jan 2026 12:03:20 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I looked in the list of my latest newsletters, and ouch. I am so thankful to the amazing people who support me financially that my last newsletter for them was in November. Of course, there was Christmas in December, and what I wrote during the last two months was about different operating systems&#8217; features, like the new SLES 16 installer or the AIX NIM. No full code, no additional explanations.</p><p>But last week I wrote about image.data NIM resource, and I didn&#8217;t have enough space to post the whole file together with my explanations. I do it today.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467780,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Power DevOps Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><h2>image.data</h2>
      <p>
          <a href="https://blog.power-devops.com/p/nim-imagedata-resource">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Forgotten NIM resource type]]></title><description><![CDATA[but still important if you want to automate your deployments]]></description><link>https://blog.power-devops.com/p/forgotten-nim-resource-type</link><guid isPermaLink="false">https://blog.power-devops.com/p/forgotten-nim-resource-type</guid><pubDate>Fri, 16 Jan 2026 12:02:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you created an lpp_source, a SPOT, and bosinst_data, you automated 90% of your AIX installation. You can select them for the bos_inst operation, and your AIX will be installed without any interaction. But there are still 10%. They may not be required for the automatic installation, but if you use them, you have more predictable installations.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467780,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Power De&#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>
      <p>
          <a href="https://blog.power-devops.com/p/forgotten-nim-resource-type">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Advertisement! Yes, it is! But you want it]]></title><description><![CDATA[Why not to advertise good things?]]></description><link>https://blog.power-devops.com/p/advertisement-yes-it-is-but-you-want</link><guid isPermaLink="false">https://blog.power-devops.com/p/advertisement-yes-it-is-but-you-want</guid><pubDate>Fri, 09 Jan 2026 12:02:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I wanted to continue writing on NIM and different AIX things. This week, I looked at the news about AIX 7.3 TL4 and tested some of the new features. But NO! I don&#8217;t write today about it. I write about a new project from my friend and excellent IBM Power expert, Hugo Blanco.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467780,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Power DevOps Substack is a reader-supported publication. To receive new posts and&#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>
      <p>
          <a href="https://blog.power-devops.com/p/advertisement-yes-it-is-but-you-want">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[Everyone starts with zero...]]></title><description><![CDATA[resources on the NIM server]]></description><link>https://blog.power-devops.com/p/everyone-starts-with-zero</link><guid isPermaLink="false">https://blog.power-devops.com/p/everyone-starts-with-zero</guid><pubDate>Fri, 02 Jan 2026 12:02:38 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>OK, you are right! Not really. When you install and configure the NIM, it creates at least the network resource - you must name it, and the master server (or machine) resource. Then you define your lpp_sources, SPOTs, machines, and you are ready to install AIX or VIOS. Almost&#8230;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467780,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Power DevOps Substack is a reader-supported publication. To receive new posts &#8230;</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>
      <p>
          <a href="https://blog.power-devops.com/p/everyone-starts-with-zero">
              Read more
          </a>
      </p>
   ]]></content:encoded></item><item><title><![CDATA[The last newsletter. In 2025.]]></title><description><![CDATA[Yes, the next Friday will be 2026.]]></description><link>https://blog.power-devops.com/p/the-last-newsletter-in-2025</link><guid isPermaLink="false">https://blog.power-devops.com/p/the-last-newsletter-in-2025</guid><pubDate>Fri, 26 Dec 2025 12:02:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>No technical content today. Only a few thoughts about 2025.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cO5h!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png" width="1456" height="749" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:749,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:467780,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:&quot;&quot;,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="https://substackcdn.com/image/fetch/$s_!cO5h!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 424w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 848w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1272w, https://substackcdn.com/image/fetch/$s_!cO5h!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7634018f-2422-475c-be07-1eecd706a0d3_1982x1020.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://blog.power-devops.com/subscribe?&quot;,&quot;text&quot;:&quot;Subscribe&quot;,&quot;language&quot;:&quot;en&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Power DevOps Substack is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Type your email&#8230;" tabindex="-1"><input type="submit" class="button primary" value="Subscribe"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p>As for me, 2025 was like a roller coaster. It had so many events, and they were so different, that I can&#8217;t even say which one was the best during the yea&#8230;</p>
      <p>
          <a href="https://blog.power-devops.com/p/the-last-newsletter-in-2025">
              Read more
          </a>
      </p>
   ]]></content:encoded></item></channel></rss>