mirror of
https://github.com/alanorth/cgspace-notes.git
synced 2024-11-22 06:35:03 +01:00
Add notes for 2021-03-07
This commit is contained in:
parent
24d6440c91
commit
75596fd524
@ -162,4 +162,76 @@ $ curl -XDELETE 'http://localhost:9200/openrxv-items-2021-03-05'
|
||||
- [docker/docker-compose.yml: Pin Redis to version 5](https://github.com/ilri/OpenRXV/pull/87)
|
||||
- I deployed the latest changes from the last few days on AReS production
|
||||
|
||||
## 2021-03-07
|
||||
|
||||
- I realized there is something wrong with the Elasticsearch indexes on AReS
|
||||
- On a new test environment I see `openrxv-items` is correctly an alias of `openrxv-items-final`:
|
||||
|
||||
```console
|
||||
$ curl -s 'http://localhost:9200/_alias/' | python -m json.tool | less
|
||||
...
|
||||
"openrxv-items-final": {
|
||||
"aliases": {
|
||||
"openrxv-items": {}
|
||||
}
|
||||
},
|
||||
```
|
||||
|
||||
- But on AReS production `openrxv-items` has somehow become an index:
|
||||
|
||||
```console
|
||||
$ curl -s 'http://localhost:9200/_alias/' | python -m json.tool | less
|
||||
...
|
||||
"openrxv-items": {
|
||||
"aliases": {}
|
||||
},
|
||||
"openrxv-items-final": {
|
||||
"aliases": {}
|
||||
},
|
||||
"openrxv-items-temp": {
|
||||
"aliases": {}
|
||||
},
|
||||
```
|
||||
|
||||
- I fixed the issue on production by cloning the `openrxv-items` index to `openrxv-items-final`, deleting `openrxv-items`, and then re-creating it as an alias:
|
||||
|
||||
```console
|
||||
$ curl -X PUT "localhost:9200/openrxv-items/_settings" -H 'Content-Type: application/json' -d'{"settings": {"index.blocks.write": true}}'
|
||||
$ curl -s -X POST http://localhost:9200/openrxv-items/_clone/openrxv-items-2021-03-07
|
||||
$ curl -XDELETE 'http://localhost:9200/openrxv-items-final'
|
||||
$ curl -s -X POST http://localhost:9200/openrxv-items/_clone/openrxv-items-final
|
||||
$ curl -XDELETE 'http://localhost:9200/openrxv-items'
|
||||
$ curl -s -X POST 'http://localhost:9200/_aliases' -H 'Content-Type: application/json' -d'{"actions" : [{"add" : { "index" : "openrxv-items-final", "alias" : "openrxv-items"}}]}'
|
||||
```
|
||||
|
||||
- Delete backups and remove read-only mode on `openrxv-items`:
|
||||
|
||||
```console
|
||||
$ curl -XDELETE 'http://localhost:9200/openrxv-items-2021-03-07'
|
||||
$ curl -X PUT "localhost:9200/openrxv-items/_settings" -H 'Content-Type: application/json' -d'{"settings": {"index.blocks.write": false}}'
|
||||
```
|
||||
|
||||
- Linode sent alerts about the CPU usage on CGSpace yesterday and the day before
|
||||
- Looking in the logs I see a few IPs making heavy usage on the REST API and XMLUI:
|
||||
|
||||
```console
|
||||
# zcat --force /var/log/nginx/access.log /var/log/nginx/access.log.1 /var/log/nginx/access.log.2.gz /var/log/nginx/access.log.3.gz | grep -E '0[56]/Mar/2021' | goaccess --log-format=COMBINED -
|
||||
```
|
||||
|
||||
- I see the usual IPs for CCAFS and ILRI importer bots, but also `143.233.242.132` which appears to be for GARDIAN:
|
||||
|
||||
```console
|
||||
# zgrep '143.233.242.132' /var/log/nginx/access.log.1 | grep -c Delphi
|
||||
6237
|
||||
# zgrep '143.233.242.132' /var/log/nginx/access.log.1 | grep -c -v Delphi
|
||||
6418
|
||||
```
|
||||
|
||||
- They seem to make requests twice, once with the Delphi user agent that we know and already mark as a bot, and once with a "normal" user agent
|
||||
- Looking in Solr I see they have been using this IP for awhile, as they have 100,000 hits going back into 2020
|
||||
- I will add this IP to the list of bots in nginx and purge it from Solr with my `check-spider-ip-hits.sh` script
|
||||
- I made a few changes to OpenRXV:
|
||||
- [Migrated away from links to use networks](https://github.com/ilri/OpenRXV/issues/89)
|
||||
- [Converted the backend container to use a custom image that includes `unoconv`](https://github.com/ilri/OpenRXV/issues/68) so we don't have to manually install it anymore
|
||||
|
||||
<!-- vim: set sw=2 ts=2: -->
|
||||
|
@ -19,7 +19,7 @@ Also, we found some issues building and running OpenRXV currently due to ecosyst
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/2021-03/" />
|
||||
<meta property="article:published_time" content="2021-03-01T10:13:54+02:00" />
|
||||
<meta property="article:modified_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="article:modified_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
@ -44,9 +44,9 @@ Also, we found some issues building and running OpenRXV currently due to ecosyst
|
||||
"@type": "BlogPosting",
|
||||
"headline": "March, 2021",
|
||||
"url": "https://alanorth.github.io/cgspace-notes/2021-03/",
|
||||
"wordCount": "936",
|
||||
"wordCount": "1306",
|
||||
"datePublished": "2021-03-01T10:13:54+02:00",
|
||||
"dateModified": "2021-03-05T20:52:36+02:00",
|
||||
"dateModified": "2021-03-06T13:35:20+02:00",
|
||||
"author": {
|
||||
"@type": "Person",
|
||||
"name": "Alan Orth"
|
||||
@ -290,6 +290,78 @@ $ curl -XDELETE 'http://localhost:9200/openrxv-items-2021-03-05'
|
||||
</li>
|
||||
<li>I deployed the latest changes from the last few days on AReS production</li>
|
||||
</ul>
|
||||
<h2 id="2021-03-07">2021-03-07</h2>
|
||||
<ul>
|
||||
<li>I realized there is something wrong with the Elasticsearch indexes on AReS
|
||||
<ul>
|
||||
<li>On a new test environment I see <code>openrxv-items</code> is correctly an alias of <code>openrxv-items-final</code>:</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<pre><code class="language-console" data-lang="console">$ curl -s 'http://localhost:9200/_alias/' | python -m json.tool | less
|
||||
...
|
||||
"openrxv-items-final": {
|
||||
"aliases": {
|
||||
"openrxv-items": {}
|
||||
}
|
||||
},
|
||||
</code></pre><ul>
|
||||
<li>But on AReS production <code>openrxv-items</code> has somehow become an index:</li>
|
||||
</ul>
|
||||
<pre><code class="language-console" data-lang="console">$ curl -s 'http://localhost:9200/_alias/' | python -m json.tool | less
|
||||
...
|
||||
"openrxv-items": {
|
||||
"aliases": {}
|
||||
},
|
||||
"openrxv-items-final": {
|
||||
"aliases": {}
|
||||
},
|
||||
"openrxv-items-temp": {
|
||||
"aliases": {}
|
||||
},
|
||||
</code></pre><ul>
|
||||
<li>I fixed the issue on production by cloning the <code>openrxv-items</code> index to <code>openrxv-items-final</code>, deleting <code>openrxv-items</code>, and then re-creating it as an alias:</li>
|
||||
</ul>
|
||||
<pre><code class="language-console" data-lang="console">$ curl -X PUT "localhost:9200/openrxv-items/_settings" -H 'Content-Type: application/json' -d'{"settings": {"index.blocks.write": true}}'
|
||||
$ curl -s -X POST http://localhost:9200/openrxv-items/_clone/openrxv-items-2021-03-07
|
||||
$ curl -XDELETE 'http://localhost:9200/openrxv-items-final'
|
||||
$ curl -s -X POST http://localhost:9200/openrxv-items/_clone/openrxv-items-final
|
||||
$ curl -XDELETE 'http://localhost:9200/openrxv-items'
|
||||
$ curl -s -X POST 'http://localhost:9200/_aliases' -H 'Content-Type: application/json' -d'{"actions" : [{"add" : { "index" : "openrxv-items-final", "alias" : "openrxv-items"}}]}'
|
||||
</code></pre><ul>
|
||||
<li>Delete backups and remove read-only mode on <code>openrxv-items</code>:</li>
|
||||
</ul>
|
||||
<pre><code class="language-console" data-lang="console">$ curl -XDELETE 'http://localhost:9200/openrxv-items-2021-03-07'
|
||||
$ curl -X PUT "localhost:9200/openrxv-items/_settings" -H 'Content-Type: application/json' -d'{"settings": {"index.blocks.write": false}}'
|
||||
</code></pre><ul>
|
||||
<li>Linode sent alerts about the CPU usage on CGSpace yesterday and the day before
|
||||
<ul>
|
||||
<li>Looking in the logs I see a few IPs making heavy usage on the REST API and XMLUI:</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<pre><code class="language-console" data-lang="console"># zcat --force /var/log/nginx/access.log /var/log/nginx/access.log.1 /var/log/nginx/access.log.2.gz /var/log/nginx/access.log.3.gz | grep -E '0[56]/Mar/2021' | goaccess --log-format=COMBINED -
|
||||
</code></pre><ul>
|
||||
<li>I see the usual IPs for CCAFS and ILRI importer bots, but also <code>143.233.242.132</code> which appears to be for GARDIAN:</li>
|
||||
</ul>
|
||||
<pre><code class="language-console" data-lang="console"># zgrep '143.233.242.132' /var/log/nginx/access.log.1 | grep -c Delphi
|
||||
6237
|
||||
# zgrep '143.233.242.132' /var/log/nginx/access.log.1 | grep -c -v Delphi
|
||||
6418
|
||||
</code></pre><ul>
|
||||
<li>They seem to make requests twice, once with the Delphi user agent that we know and already mark as a bot, and once with a “normal” user agent
|
||||
<ul>
|
||||
<li>Looking in Solr I see they have been using this IP for awhile, as they have 100,000 hits going back into 2020</li>
|
||||
<li>I will add this IP to the list of bots in nginx and purge it from Solr with my <code>check-spider-ip-hits.sh</code> script</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>I made a few changes to OpenRXV:
|
||||
<ul>
|
||||
<li><a href="https://github.com/ilri/OpenRXV/issues/89">Migrated away from links to use networks</a></li>
|
||||
<li><a href="https://github.com/ilri/OpenRXV/issues/68">Converted the backend container to use a custom image that includes <code>unoconv</code></a> so we don’t have to manually install it anymore</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<!-- raw HTML omitted -->
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/categories/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/categories/notes/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/categories/notes/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/categories/notes/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/categories/notes/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/categories/notes/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/posts/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/posts/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/posts/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/posts/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/posts/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/posts/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -10,7 +10,7 @@
|
||||
<meta property="og:description" content="Documenting day-to-day work on the [CGSpace](https://cgspace.cgiar.org) repository." />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://alanorth.github.io/cgspace-notes/posts/" />
|
||||
<meta property="og:updated_time" content="2021-03-05T20:52:36+02:00" />
|
||||
<meta property="og:updated_time" content="2021-03-06T13:35:20+02:00" />
|
||||
|
||||
|
||||
|
||||
|
@ -3,19 +3,19 @@
|
||||
xmlns:xhtml="http://www.w3.org/1999/xhtml">
|
||||
<url>
|
||||
<loc>https://alanorth.github.io/cgspace-notes/categories/</loc>
|
||||
<lastmod>2021-03-05T20:52:36+02:00</lastmod>
|
||||
<lastmod>2021-03-06T13:35:20+02:00</lastmod>
|
||||
</url><url>
|
||||
<loc>https://alanorth.github.io/cgspace-notes/</loc>
|
||||
<lastmod>2021-03-05T20:52:36+02:00</lastmod>
|
||||
<lastmod>2021-03-06T13:35:20+02:00</lastmod>
|
||||
</url><url>
|
||||
<loc>https://alanorth.github.io/cgspace-notes/2021-03/</loc>
|
||||
<lastmod>2021-03-05T20:52:36+02:00</lastmod>
|
||||
<lastmod>2021-03-06T13:35:20+02:00</lastmod>
|
||||
</url><url>
|
||||
<loc>https://alanorth.github.io/cgspace-notes/categories/notes/</loc>
|
||||
<lastmod>2021-03-05T20:52:36+02:00</lastmod>
|
||||
<lastmod>2021-03-06T13:35:20+02:00</lastmod>
|
||||
</url><url>
|
||||
<loc>https://alanorth.github.io/cgspace-notes/posts/</loc>
|
||||
<lastmod>2021-03-05T20:52:36+02:00</lastmod>
|
||||
<lastmod>2021-03-06T13:35:20+02:00</lastmod>
|
||||
</url><url>
|
||||
<loc>https://alanorth.github.io/cgspace-notes/2021-02/</loc>
|
||||
<lastmod>2021-03-04T22:46:05+02:00</lastmod>
|
||||
|
Loading…
Reference in New Issue
Block a user