[systemd-devel] setroubleshoot integration.

Daniel J Walsh dwalsh at redhat.com
Wed Jan 9 09:31:05 PST 2013


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 01/09/2013 11:55 AM, Zbigniew Jędrzejewski-Szmek wrote:
> On Wed, Jan 09, 2013 at 05:44:02PM +0100, Zbigniew Jędrzejewski-Szmek
> wrote:
>> On Wed, Jan 09, 2013 at 11:00:36AM -0500, Daniel J Walsh wrote:
>>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
>>> 
>>> One of my goals with setroubleshoot analysys is to get it integrated
>>> into the journald system.
>>> 
>>> In Fedora I am adding
>>> 
>>> systemd.journal.send(siginfo.format_text())
>>> 
>>> Which will put the setroubleshoot info into the journal, but what I
>>> really need is to add a key for the process id that created the journal
>>> entry.
>>> 
>>> We had talked about this a while ago with the goal of allowing
>>> something like
>>> 
>>> systemctl httpd status .... SELinux is blocking httpd read access on
>>> /var/www/index.html setroubleshoot ... run restorecon
>>> /var/www/index.html
>>> 
>>> The only way for systemd to know the setroubleshoot analysys is for
>>> httpd is to include the pid when setroubleshoot writes the journal.
>> Hi,
>> 
>> the way that finding messages pertaining to a certain service works
>> currently is encoded in src/share/logs-show.c, function
>> show_journal_by_unit: - journald adds _SYSTEMD_UNIT=... when it can to
>> messages generated by the services themselves - systemd (PID 1) writes
>> messages about services with UNIT=... and journalds tags them with
>> _PID=1 - COREDUMP writes messages with COREDUMP_UNIT=...
>> 
>> I think it would be realitively to extend show_journal_by_unit() to
>> check
> ^relatively easy
>> for messages with _SYSTEMD_UNIT=setroubleshootd.service (or whatever) and
>> UNIT=... Would this work for you? This would require setroubleshootd to
>> find out the unit name on its own. Actually, this might be for the
>> better, since by the time that journald gets the message, the PID might
>> be long gone, and setroubleshootd has more knowledge.
> A second part would be support for multiline messages. This is another 
> story.
> 
> Zbyszek
> 

Well I got two problems, then.  How does setroubleshoot figure out which unit
file is associated with a pid?  (From python).  And if the pid is not
associated with a unit file but with a User or something else (systemd
itself),  what should I do?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.13 (GNU/Linux)
Comment: Using GnuPG with undefined - http://www.enigmail.net/

iEYEARECAAYFAlDtqVkACgkQrlYvE4MpobNIggCeMZKTjZJJnWEaU3nGi89HZmJK
SdEAoKhh/x2T+f2uOydgjCMBxHz3oYoq
=gtQC
-----END PGP SIGNATURE-----


More information about the systemd-devel mailing list