Since a few weeks ago I faced writing some batch ingest process written in Python. This information came from Big Data, so, in order to bring back the result set, I had to have to improve my SQL skills. Work with larger datasets could be dangerous and frustrating if you have not enough care for how much information you are querying, aggregating, and storing (as a temporary store). After that, if you are making some visualizations in a web-based plot tool, the response time is critical.
Learning SQL is the best technical book that I have recently read because Alan…
Sometimes as grafana admin I need to add new functionalities onto my Grafana stack. Frequently is enough using grafana-cli, but when we have to use a non-signed plugin…
For this post, I will try Athena as Data Source, but in Grafana Official Site there is no Data Source, so we found mtanda repo.
First, It’s a good idea to verify the latest available version of the code, so, just go to tags and copy the right link.
As all the world knows, inside of CI/CD exists automate building. This concept is so important in DevOps because here you build your package and run automate tests (depends on the result if you are continuous or abort the next phases). I know that already there is a lot of documentation about this topic, but I will write about my concerns and opinions.
Gradle works with a few CI tools, such as Jenkins, Travis and TeamCity. Its ideal for a lot of languages, even, it can be extended by plugins (developed mainly by the community). Another feature that I like…
Sometimes there is no registry available and we have to work with Docker images. At least, this is my everyday scenario. Combined with some network issues, like latency or reachless to registry, it is a good work around.
The solutions is, firstly, generate a tar file with docker export or docker save, and the, import it over ssh with docker import or docker load.
Dowload the docker image
Like it’s name suggest, is an APM from Elastic company. Application Performance Management helps to understand behavior of an application, like CPU consumption, memory utilization, request tracing, and so on. Some guys leverage this type of information to drive some recommendations to developer teams or just for reflect some metrics to stakeholders (sometimes in high level) in order to enhance next deployments.
Also is used to pinpoint troubles from poor development practices or postmortem source of information.
As surely you know, when you work with Docker images each layer is built above the previous one until we get the final image. This has some cons:
In the beginning, this kind of thinks does not matter, but, when the amount of images scale this becomes a technical doubt that will be well-handled, on the contrary, this going to be a pain in the ass.
So, let’s say that we want to remove the sensitive data and this is not feasible by removing via commands. So, What we should do?
Sometimes as sysadmin or developer, you have to run some GUI-based application in computers that are not yours, or simply run it as first-run (avoiding cache, for example).
This knowledge comes from Docker in practice. Thanks folks for these amazing book!
For this example, I'm going to use lyonn (id 1000, group lyonn (1000)) user, please, replace it with your own.
RUN apt-get update
RUN apt-get install -y firefox
RUN groupadd -g 1000 lyonn
RUN useradd -d /home/lyonn -s /bin/bash -m lyonn -u 1000 -g 1000
ENV HOME /home/lyonn
Build the image
docker build -t gui .
Run the container
docker run -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=$DISPLAY -h $HOSTNAME -v $HOME/.Xauthority:/home/lyonn/.Xauthority gui
Yes, if you think that your docker daemon is boring, I have new: it is not. Sometimes I try to learn new things in a practical way, so, this time I opened Docker in practice book. In this post we will assume that in both hosts Docker is already installed; if not, is a good time to do.
Docker client and daemon communicate among them via REST, and they could communicate via HTTP instead of Unix socket (Unix-like Operating Systems).
If you want to try you can do follow steps.
We need two servers (in the same IP range, de…
Sometimes (often) as sysadmin you have to recalculate the resources available for your managed software, include Apache Web Server. By default, this kind of parameters are sufficient with low rates of transactions, but in seasoned applications this is not always true.
AEM dispatchers runs as Apache plugin, and sometimes you could get log messages such as:
[Sat Nov 17 12:08:06 2018] [E] [pid 346] Unable to open temporary file : No such file or directory [Sat Nov 17 13:31:04 2018] [E] [pid 7357] Unable to open temporary file : No such file or directory [Sat Nov 17 13:31:04 2018] [E]…
In my life as sysadmin sometimes I had to write scripts with menus, whose appearance modify the script behaviour. This is not a black thread, is juts about some uses in our day-to-day. An easy way to do that is with a while loop and shift command.
The advantage of this manner to write menus in bash is that you have not to specify cases depending on parameter position, you just moves the parameters until there not more.
This command moves shell options right to left, for example, $4 to $3… when the parameter position is $1 shift removes it…
Literato de sistemas, informático de letras.